js数组对象去重(同时判断对象中的每一个属性,若其对应的属性值都相同,则去重)

let arr = [
      {
        maxDeptCode: "md3",
        maxDeptName: "泡泡",
        minDeptCode: "md301",
        minDeptName: "泡泡少儿",
        schoolId: 1,
        schoolName: "北京",
      },
      {
        maxDeptCode: "md2",
        maxDeptName: "中学",
        minDeptCode: "md201",
        minDeptName: "中学一对一",
        schoolId: 1,
        schoolName: "北京",
      }, {
        maxDeptCode: "md3",
        maxDeptName: "泡泡",
        minDeptCode: "md301",
        minDeptName: "泡泡少儿",
        schoolId: 1,
        schoolName: "北京",
      },
    ];



    function process(arr) {
      // 缓存用于记录
      const cache = [];
      for (const t of arr) {
        // 检查缓存中是否已经存在
        if (cache.find(c => c.maxDeptCode === t.maxDeptCode && c.minDeptCode === t.minDeptCode)) {
          // 已经存在说明以前记录过,现在这个就是多余的,直接忽略
          continue;
        }
        // 不存在就说明以前没遇到过,把它记录下来
        cache.push(t);
      }

      // 记录结果就是过滤后的结果
      return cache;
    } 

    console.log(process(arr));

js数组对象去重(同时判断对象中的每一个属性,若其对应的属性值都相同,则去重)_第1张图片

你可能感兴趣的:(js,vue,项目)