数组方法

57 阅读1分钟

数组过滤

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 }

// ]