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、例

posted on 2022-01-07 14:50  丶凉雨拾忆  阅读(152)  评论(0编辑  收藏  举报