假設我有一個物件陣列
let arr = [
{
name: "john",
age: 22
},
{
name: "george",
age: 55
}
];
和一個物體
let obj = {
name: "bill",
age: 55
}
我想搜索所有arr物件以找到與年齡相同的任何人obj.age并回傳一個布林值,具體取決于它是否包含相同的屬性。
我顯然可以做到:
let find = arr.filter(i => i.age === obj.age);
let bool = find.length > 0 && true;
但是有沒有辦法呼叫一個方法(lodash,plain 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)
uj5u.com熱心網友回復:
您可以使用some. 所以基本上,如果陣列中的任何物件屬性與所需值匹配,它將回傳一個布林值
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)
uj5u.com熱心網友回復:
我們可以通過兩種方式做到這一點。我們可以使用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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/431112.html
標籤:javascript 数组 目的 罗达什
上一篇:打字稿-在陣列中推送到達日期的值
