数组过滤
let arr3 = [
{
name: '小明',
price: 20,
},
{
name: '小红',
price: 20,
},
{
name: '小李',
price: 20,
},
{
name: '小红',
price: 200,
},
{
name: '小明111',
price: 20,
},
];
let arr4 = [
{
name: '小明',
price: 20,
},
{
name: '小红',
price: 20,
},
];
arr4.forEach((item) => {
arr3 = arr3.filter((items) => {
return items.name != item.name;
});
});
console.log(arr3);
// [ { name: '小李', price: 20 }, { name: '小明111', price: 20 } ]
合并两个数组并去重,保留 arr2 中的数据
let arr1 = [{a:1,b:true},{a:2,b:true},{a:3,b:true},{a:4,b:true}]
let arr2 = [{a:1,b:false},{a:2,b:false},{a:5,b:false},{a:6,b:false}]
function unique(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i].a == arr[j].a) {
arr.splice(j, 1)
j--
}
}
}
}
arr2 = arr2.concat(arr1)
unique(arr2)
console.log(arr2);
// [
// { a: 1, b: false },
// { a: 2, b: false },
// { a: 5, b: false },
// { a: 6, b: false },
// { a: 3, b: true },
// { a: 4, b: true }
// ]