在对象数组和 return 布尔值中搜索特定的 属性
search for a specific property in array of objects and return boolean
假设我有一个对象数组
let arr = [
{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
和一个对象
let obj = {
name: "bill",
age: 55
}
并且我想搜索所有 arr
对象以找到与 obj.age
和 return 年龄相同的任何人,一个布尔值取决于它是否包含相同的 属性 或没有。
我显然可以做到:
let find = arr.filter(i => i.age === obj.age);
let bool = find.length > 0 && true;
但是有没有一种方法可以调用一个方法(lodash、普通 js 或其他)来像 method(arr,obj.age) //returns true
这样通过设计来获得它?
let arr = [
{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
let find = arr.filter(i => i.age === obj.age);
let bool = find.length > 0 && true;
console.log(bool)
您可以使用 some
。所以基本上它会 return 一个布尔值,如果数组中的任何对象 属性 匹配所需的值
let arr = [{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
const val = arr.some(item => item.age === obj.age);
console.log(val)
我们可以通过两种方式做到这一点。我们可以使用 some 函数并直接或通过 find 函数获取布尔值,我们可以使用 !! 将其转换为布尔值运算符。
let arr = [{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
const val1 = arr.some(item => item.age === obj.age);
console.log(val1)
const val2 = !!arr.find(item => item.age === obj.age);
console.log(val2)
假设我有一个对象数组
let arr = [
{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
和一个对象
let obj = {
name: "bill",
age: 55
}
并且我想搜索所有 arr
对象以找到与 obj.age
和 return 年龄相同的任何人,一个布尔值取决于它是否包含相同的 属性 或没有。
我显然可以做到:
let find = arr.filter(i => i.age === obj.age);
let bool = find.length > 0 && true;
但是有没有一种方法可以调用一个方法(lodash、普通 js 或其他)来像 method(arr,obj.age) //returns true
这样通过设计来获得它?
let arr = [
{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
let find = arr.filter(i => i.age === obj.age);
let bool = find.length > 0 && true;
console.log(bool)
您可以使用 some
。所以基本上它会 return 一个布尔值,如果数组中的任何对象 属性 匹配所需的值
let arr = [{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
const val = arr.some(item => item.age === obj.age);
console.log(val)
我们可以通过两种方式做到这一点。我们可以使用 some 函数并直接或通过 find 函数获取布尔值,我们可以使用 !! 将其转换为布尔值运算符。
let arr = [{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
let obj = {
name: "bill",
age: 55
}
const val1 = arr.some(item => item.age === obj.age);
console.log(val1)
const val2 = !!arr.find(item => item.age === obj.age);
console.log(val2)