1.直接写
let arr1 =
[
{ id:'1',name:'zhangsan' },
{ id:'2', name:'lisi' }
]
let arr2 =
[
{ id:'1',name:'zhangsan', age:'15'},
{ id:'2', name:'lisi', age:'16' },
{ id:'3', name:'ani', age:'17'}
]
//取不同的元素(ES6的方法)
let res = arr2.filter(item => !arr1.some(ele=> ele.id === item.id))
console.log('res', res)
结果:
{
"id": "3",
"name": "ani",
"age": "17"
}
//取相同的元素(ES6的方法)
let res2 = arr2.filter(item => arr1.some(ele=> ele.id === item.id))
console.log('res2', res2)
结果:
[
{
"id": "1",
"name": "zhangsan",
"age": "15"
},
{
"id": "2",
"name": "lisi",
"age": "16"
}
]
2.定义成一个函数
arr2中找出与arr1中id不同的元素,较大数组放到后面
function getInclude (arr1, arr2) {
let temp = arr2.filter(item => !arr1.some(ele => ele.id === item.id))
return temp
}
let res3 = getInclude (arr1,arr2)
console.log(res3);
arr2中找出与arr1中id相同的元素,较大数组放到后面
function getExclude (arr1, arr2) {
let temp = arr2.filter(item => arr1.some(ele => ele.id === item.id))
return temp
}
let res4 = getExclude (arr1,arr2)
console.log(res4);