JavaScript-js-两个对象数组过滤相同的-取出不同的数据
1. 第一种:js原生的写法:
change_data(array1,array2,id){
var result = [];
for (var i = 0; i < array2.length; i++) {
var obj = array2[i];
var num = obj[id];
var isExist = false;
for (var j = 0; j < array1.length; j++) {
var aj = array1[j];
var n = aj[id];
if (n == num) {
isExist = true;
break;
}
}
if (!isExist) {
result.push(obj);
}
}
return result
},
- 直接调用数据
- this.change_data(array1,array2,‘id’)
2. 第二种:ES6语法直接上:实现一行自由
change_data(array1,array2,id){
return array2.filter((v) => array1.every((val) => val[id] != v[id]))
}
- 直接调用数据
- this.change_data(array1,array2,‘id’)
OK,搞定了,不懂就问哦!!!!
欢迎👏🏻,各位大佬,还有其他的思考方向么???欢迎在评论区亮出你的智慧的代码