以下是JavaScript代码实现“一个数组push进另一个数组并去重,如果被push的数组中有和被加入数组相同的对象则不添加”的功能:
--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown
let arr1 = [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name: 'orange'}];
let arr2 = [{id: 2, name: 'banana'}, {id: 4, name: 'peach'}];
for (let item of arr2) {
if (!arr1.some(t => t.id === item.id)) {
arr1.push(item);
}
}
//输出结果
console.log(arr1);
在以上代码中,我们首先定义了两个数组arr1和arr2,并将arr2添加进arr1中。
然后我们使用for…of循环遍历arr2中的所有元素,并使用some()方法检查是否有和arr1中相同的对象。如果不重复,则使用push()方法将元素添加进arr1数组中。
最后,我们将修改后的数组arr1打印出来,以便验证。
需要注意的是,这种方法的前提是比较的对象具有相同的属性名和相同的属性值,这样才能保证正确地去重和比较对象。在这里我们以对象的id作为比较基准。