最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于JavaScript數(shù)組對象去重的幾種方法

 更新時間:2023年04月21日 11:06:09   作者:小太陽...  
這篇文章主要介紹了關于JavaScript數(shù)組對象去重的幾種方法,不管是map對象的特性還是reduce方法都是很好用的去重方法,需要的朋友可以參考下

數(shù)組對象如下:

    let repeatData = [
      { id: 1, name: 'sun', age: 18 },
      { id: 1, name: 'sun', age: 18 },
      { id: 2, name: 'baozi', age: 20 },
      { id: 1, name: 'sun', age: 18 },
      { id: 3, name: 'lele', age: 3 },
      { id: 2, name: 'baozi', age: 20 }
    ]

要把id一樣的數(shù)據(jù)刪掉,得到如下結果

在這里插入圖片描述

1.利用Map對象 Map 對象保存鍵值對。任何值(對象或者原始值) 都可以作為一個鍵或一個值。 Map對象如果有重復的鍵值,則后面的會覆蓋前面的

   // 利用map對象
   let map = new Map()
   repeatData.forEach(item => {
     map.set(item.id, item)
   })
   let newData = [...map.values()]
   console.log(newData, 'newData');

2.雙層for循環(huán)

   for (let i = 0; i < repeatData.length; i++) {
     for(let j = i + 1; j < repeatData.length; j++) {
       if (repeatData[i].id === repeatData[j].id) {
         repeatData.splice(j, 1)
         j--
       }
     }
   }
   console.log(repeatData, 'repeatData');

3.利用數(shù)組的reduce方法

   let newObj = {}; 
   repeatData = repeatData.reduce((preVal, curVal) => {
     newObj[curVal.id] ? '' : newObj[curVal.id] = preVal.push(curVal);
     return preVal 
   }, [])
   console.log(repeatData, 'repeatData');

4.利用對象的屬性

   let newObj = {}, newArr = []
   repeatData.forEach(item => {
     if (!newObj[item.id]) {
       newObj[item.id] = newArr.push(item)
     }
   })
   console.log(newArr, 'newArr');

注意:第二種方法用到的splice方法會改變原數(shù)組

js數(shù)組中下面方法會改變原數(shù)組:

方法用法
push向數(shù)組的末尾添加一個或更多元素,并返回新的長度
unshift向數(shù)組的開頭添加一個或更多元素,并返回新的長度
pop刪除數(shù)組的最后一個元素并返回刪除的元素
shift刪除并返回數(shù)組的第一個元素
sort對數(shù)組的元素進行排序
splice從數(shù)組中添加或刪除元素
reverse反轉數(shù)組的元素順序

到此這篇關于關于JavaScript數(shù)組對象去重的幾種方法的文章就介紹到這了,更多相關JavaScript數(shù)組對象去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

安丘市| 博客| 定安县| 海晏县| 蕉岭县| 图们市| 西安市| 绥化市| 武城县| 赫章县| 于田县| 怀仁县| 友谊县| 莱西市| 津市市| 普定县| 榆林市| 临夏市| 岳普湖县| 吉安市| 衡阳县| 揭阳市| 固原市| 体育| 长岭县| 龙井市| 日土县| 古蔺县| 仁怀市| 阳西县| 布尔津县| 武冈市| 乌兰县| 施甸县| 鹤山市| 平原县| 六盘水市| 田阳县| 郓城县| 任丘市| 罗平县|