let arr = [
{ a:1, b:1, c:1 },
{ a:1, b:2, c:1 },
{ a:1, b:1, c:2 },
{ a:1, b:1, c:2 },
]
function deweight(arr){
let de_arr= []
arr.forEach(i => {
let isTrue = de_arr.every((j)=>{
for (const key in j) {
return i[key]!==j[key]
}
})
isTrue ? de_arr.push(i) : ''
});
return de_arr
}
deweight(arr)
function deweight(arr,key){
let de_arr= []
arr.forEach(i => {
let isTrue = de_arr.every((j)=>{
return i[key]!==j[key]
})
isTrue ? de_arr.push(i) : ''
});
return de_arr
}
deweight(arr,'id')
- Array.every()的用法
every 方法为数组中的每个元素执行一次 callback 函数,直到它找到一个会使 callback 返回 falsy 的元素。如果发现了一个这样的元素,every 方法将会立即返回 false。否则,callback 为每一个元素返回 true,every 就会返回 true。callback 只会为那些已经被赋值的索引调用。不会为那些被删除或从未被赋值的索引调用。 callback 在被调用时可传入三个参数:元素值,元素的索引,原数组。
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));