JS判断数组中对象是否存在某个值
一、some方法数组中满足提供的测试函数的第一个元素的true.否则返回 false
var arr = [{
name: "张飞",
value: "0"
}, {
name: "关羽",
value: "1"
}]
var result_one = arr.some(function(item) {
if (item.name == "张飞") {
return true;
}
})
console.log(result_one );
二、find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
var arr1 = [{
name: "张飞",
value: "0"
}, {
name: "关羽",
value: "1"
}]
var result_two= arr1 .find((v) => {
return v.value === '0';
});
console.log(result_two);
// {name: '小提莫', value: '0'}
三、键值对(去重)
var arr3= [{
name: "小提莫",
value: "0"
}, {
name: "小鲁班",
value: "1"
}, {
name: "小龙虾",
value: "2"
}, {
name: "小龙虾",
value: "2"
}]
function unique(arr){
let obj = {};
return arr.filter((item, index, array) =>{
return obj.hasOwnProperty(typeof item.value + JSON.stringify(item.value)) ?
false : (obj[typeof item.value + JSON.stringify(item.value)] = true)
})
}
console.log(unique(arr3));
(3) [{…}, {…}, {…}]
0: {name: '小提莫', value: '0'}
1: {name: '小鲁班', value: '1'}
2: {name: '小龙虾', value: '2'}
length: 3
[[Prototype]]: Array(0)