国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

JS小技巧,如何去重對(duì)象數(shù)組?

開發(fā) 后端
關(guān)于數(shù)組對(duì)象去重的業(yè)務(wù)場(chǎng)景,想必大家都遇到過類似的需求吧,這對(duì)這樣的需求你是怎么做的呢。下面我就先和大家分享下如果是基于對(duì)象的1個(gè)屬性是怎么去重實(shí)現(xiàn)的。

大家好,關(guān)于數(shù)組對(duì)象去重的業(yè)務(wù)場(chǎng)景,想必大家都遇到過類似的需求吧,這對(duì)這樣的需求你是怎么做的呢。下面我就先和大家分享下如果是基于對(duì)象的1個(gè)屬性是怎么去重實(shí)現(xiàn)的。

方法一:使用 .filter() 和 .findIndex() 相結(jié)合的方法

使用 Array.prototype.filter() 和 Array.prototype.findIndex():使用 filter() 方法過濾掉重復(fù)的元素,使用 findIndex() 方法判斷對(duì)象是否重復(fù),代碼如下:

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
             {id: 1, name: "c"}, {id: 3, name: "d"}];
const uniqueArr = arr.filter((item, index) => 
     arr.findIndex(i => i.id === item.id) === index);

方法二:使用 .reduce() 方法

使用 reduce() 方法維護(hù)一個(gè)累加器,通過對(duì)象的屬性來判斷是否重復(fù),代碼如下:

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"},
             {id: 1, name: "c"}, {id: 3, name: "d"}];
const uniqueArr = arr.reduce((acc, curr) => {
  if (!acc.find(item => item.id === curr.id)) {
    acc.push(curr);
  }
  return acc;
}, []);

方法三、使用 .forEach() 和 .some() 相結(jié)合的方法

使用 forEach() 方法遍歷數(shù)組,使用 some() 方法判斷是否重復(fù),代碼如下:

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
             {id: 1, name: "c"}, {id: 3, name: "d"}];
const uniqueArr = [];
arr.forEach(item => {
  if (!uniqueArr.some(i => i.id === item.id)) {
    uniqueArr.push(item);
  }
});

方法四:使用 Map

使用 Map 結(jié)構(gòu)去重對(duì)象數(shù)組時(shí),需要借助 array.map() 函數(shù)將對(duì)象數(shù)組進(jìn)行轉(zhuǎn)換,示例代碼如下:

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
             {id: 1, name: "c"}, {id: 3, name: "d"}];
const uniqueArr = [...new Map(arr.map(item => [item.id, item])).values()];

方法五: Object.create()

使用Object.create(),按照對(duì)象的屬性來判斷是否重復(fù),代碼如下

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
             {id: 1, name: "c"}, {id: 3, name: "d"}];
const uniqueArr = arr.filter(function (item) {
    return !this[item.id] && (this[item.id] = true);
}, Object.create(null));

方法六: For const of 和 find 結(jié)合

  • 這個(gè)方法的思想與方法3類似 ,其思路結(jié)構(gòu)如下:
  • 創(chuàng)建一個(gè)空的唯一數(shù)組來存儲(chǔ)唯一對(duì)象。
  • 循環(huán)遍歷數(shù)組中的對(duì)象。對(duì)于每個(gè)對(duì)象,如果它不是重復(fù)的,則將其添加到唯一數(shù)組。否則,忽略它
const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
  {id: 1, name: "c"}, {id: 3, name: "d"}];
const unique = [];
for (const item of arr) {
  const isDuplicate = unique.find((obj) => obj.id === item.id);
  if (!isDuplicate) {
    unique.push(item);
  }
}

針對(duì)多個(gè)屬性進(jìn)行去重

有時(shí)候,您可能希望僅當(dāng)對(duì)象具有兩個(gè)或多個(gè)具有相同值的屬性時(shí)才將其視為重復(fù)對(duì)象——多個(gè)屬性值相同。

對(duì)于這種情況,我們可以將上述方法進(jìn)行稍微調(diào)整就可以進(jìn)行使用,有部分方法可能不適用,有哪些不合適,這個(gè)問題留給大家,歡迎大家在評(píng)論區(qū)補(bǔ)充。

我們拿使用 .filter() 和 .findIndex() 相結(jié)合的方法嘗試下,看看如何操作:

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
             {id: 1, name: "a"}, {id: 3, name: "d"}];
const uniqueArr = arr.filter((item, index) => 
                             arr.findIndex(i => i.id === item.id 
                                && i.name === item.name) === index);

我們?cè)偈褂?For const of 和 find 結(jié)合的方法,也能實(shí)現(xiàn)同樣的效果

const arr = [{id: 1, name: "a"}, {id: 2, name: "b"}, 
  {id: 1, name: "a"}, {id: 3, name: "d"}];
const unique = [];
for (const item of arr) {
  const isDuplicate = unique.find((obj) =>
    obj.id === item.id && obj.name ==item.name);
  if (!isDuplicate) {
    unique.push(item);
  }
}
console.log(unique)

結(jié)束

其他幾個(gè)方法的改造,歡迎大家作為練習(xí)進(jìn)行嘗試,這里就不在一一舉例了,今天的分享就到這里,今天分享的這些方法都可以實(shí)現(xiàn)對(duì)象數(shù)組的去重,具體使用哪種方法取決于個(gè)人的喜好和項(xiàng)目的需求。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2023-10-26 08:28:31

Python數(shù)據(jù)去重

2022-06-01 08:12:32

JS類數(shù)組對(duì)象

2021-06-30 06:10:31

數(shù)組去重方法數(shù)組變量

2024-11-28 10:09:06

2022-10-27 14:12:56

Python字典數(shù)組

2022-07-06 07:35:19

group byMySQL

2020-06-17 08:48:22

JavaScript開發(fā)技術(shù)

2021-01-28 07:52:39

JS數(shù)組變量

2019-11-19 08:04:16

JavaHashSet去重

2024-01-03 08:53:35

JavaScrip編程語言NodeJS

2019-08-22 17:19:19

javascript去重數(shù)組

2023-11-14 14:41:01

數(shù)據(jù)庫清除

2019-11-13 14:58:39

JavaScriptNumbers程序員

2021-12-15 06:58:13

List 集合LinkedHashS

2020-06-03 09:08:21

JavaScript開發(fā)代碼

2025-07-17 14:33:51

2023-09-07 13:32:00

MySQL數(shù)據(jù)庫

2023-11-23 11:37:13

JavaScript數(shù)組

2009-10-09 14:45:00

ccna小技巧ccna

2021-11-24 08:43:02

扁平化函數(shù)數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产成人综合亚洲网站| 亚洲另类在线视频| 91精品久久久久久综合五月天| 中文字幕在线视频久| 超碰在线caoporn| 国产高清视频在线| 男生女生差差差的视频在线观看| 高潮久久久久久久久久久久久久| 99国产精品国产精品久久| 日韩精品久久久久久久玫瑰园| 好吊色视频988gao在线观看| 亚洲人体在线| 香蕉成人av| 欧美日韩视频专区在线播放| 欧美极品少妇无套实战| 亚洲乱码日产精品bd| 欧美午夜精品久久久久久蜜| 九七久久人人| 99国产一区二区三精品乱码| 久久国产色av| 天堂色在线视频| 日韩专区在线视频| 激情久久av| 残酷重口调教一区二区| 高清一区二区三区四区五区| 日韩深夜福利网站| 久久影院免费观看| 日韩精品一区二区三区中文字幕| 精品丝袜一区二区三区| 免费观看久久av| 99久久精品免费看国产四区| 国产一区久久久| 天堂中文资源在线| 欧美激情极品视频| 羞羞答答国产精品www一本| 九色porny自拍| 最近2019中文字幕一页二页| 亚洲一级一区| 久久国产精品网| av电影天堂一区二区在线| 亚洲精品666| 欧美性猛交xxxx乱大交退制版| 国产youjizz在线| 精品少妇一区二区三区视频免付费| 在线免费视频福利| 欧美精品一区二区三区蜜桃视频 | 一区二区三区在线不卡| 在线播放 亚洲| 国产成人福利片| 在线播放国产区| 91亚洲精品久久久久久久久久久久| 国产精品99一区二区| 国产在线欧美日韩| 午夜在线精品偷拍| 欧美激情二区| 亚洲精品视频久久| 日韩电影免费网站| 国产精品日韩一区二区三区| 成人在线日韩| 亚洲天堂成人在线| 在线日韩影院| 色先锋资源久久综合5566| 91av一区| 欧美大尺度在线观看| 中文字幕av一区二区三区人| 久久久亚洲成人| 国产精品3区| 最新中文字幕亚洲| 成人bbav| 日本黄色一区二区| 天堂а√在线资源在线| 亚洲男人的天堂在线| 日韩精品欧美大片| 精品国产一区二区三区无码| 日韩欧美高清在线| 美女网站久久| 午夜精品久久17c| 激情亚洲另类图片区小说区| 亚洲人成无码网站久久99热国产| 视频在线观看99| 国产色产综合色产在线视频| 欧美一区二区三区红桃小说| 污污软件在线观看| 欧美日韩另类综合| 最好看的2019的中文字幕视频| 99久久国产综合色|国产精品| 涩涩涩视频在线观看| 久热国产精品视频一区二区三区| 国产精品国产三级国产普通话三级| 日本久久久久| 伊人狠狠色丁香综合尤物| 欧美日韩一区高清| 欧美日韩性在线观看| 色久视频在线观看| 久久久久久亚洲精品中文字幕| 国产自产2019最新不卡| 天天噜天天色| 国产日韩在线播放| 樱桃国产成人精品视频| 黄色在线网站噜噜噜| 欧美一进一出视频| 91国偷自产一区二区三区成为亚洲经典 | 国产精品网站免费| 欧美贵妇videos办公室| 男插女免费视频| 欧美成人午夜剧场免费观看| 亚洲福利视频一区| 久热成人在线视频| 成人黄色av网址| 国产经典三级在线| 久草福利视频在线| 日韩福利二区| 91精品国产99| 精品小视频在线| 亚洲国产wwwccc36天堂| 成人国产一区二区三区精品麻豆| koreanbj精品视频一区| 国产精品久久三| 国产精品99久久久久久动医院| 91九色porny在线| 国产精品免费一区二区| 日韩精品亚洲元码| 亚洲人成在线播放网站岛国| 欧美午夜在线| 调教在线观看| 国产主播在线看| 国产精品国产精品国产专区不片| 成人精品电影在线| 手机看片日韩国产| 日韩久久免费电影| 久久99精品网久久| 在线黄色的网站| 久久免费视频2| 中文字幕亚洲欧美日韩在线不卡| 国产成人欧美日韩在线电影| 日韩免费va| 成年人看的毛片| 蜜月aⅴ免费一区二区三区| 久久众筹精品私拍模特| 国产专区精品| 男男互摸gay网站| 国产精品亚洲一区二区三区| 欧美日韩国产中文字幕 | 亚洲黄一区二区| 国产一区视频网站| 激情亚洲影院在线观看| 大西瓜av在线| 欧美激情精品久久久久| 一级特黄大欧美久久久| 黄色在线一区| а√天堂资源官网在线资源| 国产毛片视频网站| 日韩免费观看av| 欧美日韩国产精品成人| 免费成人av| 日韩免费观看网站| 精品久久久一区二区| 亚洲承认在线| 神马久久资源| 色婷婷综合网站| 成人亲热视频网站| 欧美久久久久久久久| 视频一区中文字幕国产| 黑人巨大亚洲一区二区久| 女人扒开屁股爽桶30分钟| 久久久久久久91| 大桥未久av一区二区三区| 中文字幕www| 国产福利精品在线| 精品视频资源站| 国产一区91精品张津瑜| 欧美wwwwww| 91在线视频| 黄色成人在线看| 国产精品观看在线亚洲人成网| 欧美性一区二区| 成人综合在线视频| 怕怕欧美视频免费大全| 免费在线看黄| 99久久激情视频| 成人情视频高清免费观看电影| 亚洲人成网站色ww在线| 一区二区三区精品在线| 麻豆一区二区99久久久久| 美女网站色精品尤物极品姐弟| 国产污视频在线| 青青视频在线播放| 91嫩草免费看| 伦理中文字幕亚洲| 欧美图区在线视频| 亚洲国产高清aⅴ视频| 三级精品在线观看| 神马影视一区二区| 国产v综合v| 天堂中文8资源在线8| 黄色资源在线看| 国产极品在线视频| 日本一区不卡| 国产精品视频久久久久| 久久精品国产v日韩v亚洲 |