1、两个数组通过唯一编码进行比较
/**
* 根据某一属性找出差异
* @param {arry} arr1 第一个参数需要对比的数组
* @param {arry} arr2 第二个参数需要对比的数组
* @param {string} fildId 需要对比的属性
* @returns 返回有差异的字段
*/
const difference = function (arr1, arr2, fildId) {
const result = [];
const obj = {};
for (var i = 0; i < arr1.length; i++) {
obj[arr1[i][fildId]] = 1;
}
for (var j = 0; j < arr2.length; j++) {
if (!obj[arr2[j][fildId]]) {
obj[arr2[j][fildId]] = 1;
result.push(arr2[j]);
}
}
return result;
};
2、例
3、单个数组去重
const unique = function unique(arr, field) {
var map = {};
var res = [];
for (var i = 0; i < arr.length; i++) {
if (!map[arr[i][field]]) {
map[arr[i][field]] = 1;
res.push(arr[i]);
}
}
return res;
};
4、例