數組去重,差集,交集,處理

去重1

let arr=[{name:1,age:18},{name:2},{name:1,age:18}]
//結果===>[{name:1,age:18},{name:2}]
 function unique(arr) {
      return [...new Set(arr.map(e => JSON.stringify(e)))].map(e => JSON.parse(e))
  }
function unique(arr) {
    const map = new Map()
    return arr.filter( item => !map.has(JSON.stringify(item)) && map.set(JSON.stringify(item), 1))
}
unique(arr)

去重2

let list = [
        { id: "1", content: "A"},
        { id: "2", content: "B"},
        { id: "3", content: "C"},
        { id: "4", content: "D"}
  ];
 let arr = [
        {id: "1",content: "C"},
        {id: "2",content: "D"}
  ];
      function listRemoveRepeat(x) {
        let result = [];
        for (let i = 0; i < x.length; i++) {
          let flag = true;
          let temp = x[i];
          for (let j = 0; j < result.length; j++) {
            // 普通數組 (temp === result[j])
            if (temp.id === result[j].id) {
              flag = false;
              break;
            }
          }
          if (flag) {
            result.push(temp);
          }
        }
        return result;
 }

差集

      function listDifference(x, y) {
        let clone = x.slice(0);
        for (let i = 0; i < y.length; i++) {
          let temp = y[i];
          for (let j = 0; j < clone.length; j++) {
            // 普通數組 (temp === clone[j])
            if (temp.id === clone[j].id) {
              clone.splice(j, 1);
            }
          }
        }
        return listRemoveRepeat(clone);
      }

并集

//調用去重2的方法listRemoveRepeat
 function listConcat(x, y) {
    return listRemoveRepeat(x.concat(y));
}

交集

//調用去重2的方法listRemoveRepeat
function listIntersection(x, y) {
       let result = [];
       for (let i = 0; i < y.length; i++) {
         let temp = y[i];
         for (let j = 0; j < x.length; j++) {
           // 普通數組 (temp === clone[j])
           if (temp.id === x[j].id) {
             result.push(temp);
             break;
           }
         }
       }
       return listRemoveRepeat(result);
}

(參考地址)https://www.cnblogs.com/wyuan-yuan/p/9430105.html

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 前端知識結構https://github.com/JacksonTian/fks Web前端開發(fā)大系概覽https...
    柴東啊閱讀 1,170評論 0 10
  • 1-------- 走進前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥閱讀 2,424評論 0 34
  • 最近我加入了一洋晨讀,每天早上起來可以聽一洋老師拆書,10分鐘的時間講解一本書的精華,最主要的是這些還完全免費。 ...
    天空空_9ef5閱讀 253評論 0 1
  • 最近一直在反思參加行動營來我的改變,其中之一是家庭氛圍變得比之前更好了。當時全職出來,是因為小的出生不久,大的還沒...
    ef0b06719d1c閱讀 256評論 6 6
  • “今天是你生日吧?”晚上十點,我發(fā)出了這條消息。 “嗯呢,你還記得??!” “不記得了,日歷記得?!?我要是沒記錯的...
    城建小明閱讀 479評論 0 1

友情鏈接更多精彩內容