摘要:當前元素當前元素的索引可選當前元素所屬的數(shù)組對象可選第一次為初始值,之后為上一次累加結(jié)果,當前要累加得元素利用為數(shù)組中對象去重小明小張小李小孫小周小陳
被問到如何給數(shù)組中對象去重,想到set答案肯定錯誤的,這個平時工作中用到的不多,查閱資料,找到給數(shù)組中對象去重的方法,利用對象屬性名的唯一性,怪自己當時沒想到。
方法一:
let ary=[ {id: 0, name: "小明"}, {id: 1, name: "小張"}, {id: 2, name: "小李"}, {id: 3, name: "小孫"}, {id: 1, name: "小周"}, {id: 2, name: "小陳"}, ]; var result = []; var obj = {}; ary.forEach((ele,index)=>{ if(!obj[ele.id]){ result.push(ele); obj[ele.id]=true; } }); //console.log(result)
方法二:用數(shù)組的reduce()方法(累加器)
redeuce()參數(shù):回調(diào)函數(shù),傳遞給函數(shù)初始值(可選)
回調(diào)函數(shù)的參數(shù):
1:初始值, 或者計算結(jié)束后的返回值。
2:當前元素
3:當前元素的索引(可選)
4:當前元素所屬的數(shù)組對象(可選)
let arys=[1,2,3]; //curs第一次為初始值1,之后為上一次累加結(jié)果3, //next當前要累加得元素 var a=arys.reduce((curs,next)=>{ // console.log(next) //1+2 //3+3 return curs+next; }); //console.log(a);//6
利用redeuce()為數(shù)組中對象去重
let ary=[ {id: 0, name: "小明"}, {id: 1, name: "小張"}, {id: 2, name: "小李"}, {id: 3, name: "小孫"}, {id: 1, name: "小周"}, {id: 2, name: "小陳"}, ]; let obj = {}; ary=ary.reduce((curs,next)=>{ obj[next.id]?"":obj[next.id]=true&& curs.push(next); return curs; },[]);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100901.html
摘要:基本操作數(shù)組去重數(shù)組去重的方法臨時數(shù)組保存其實這里面還沒考慮到數(shù)組里面嵌套數(shù)組對象的情況把去重后的結(jié)果放在一個臨時數(shù)組中對原來數(shù)組的元素與臨時數(shù)組元素比較臨時數(shù)組中不存在這個元素的放入臨時數(shù)組。 js基本操作-數(shù)組去重 數(shù)組去重的方法 1. 臨時數(shù)組保存(其實這里面還沒考慮到數(shù)組里面嵌套數(shù)組/對象的情況) 把去重后的結(jié)果放在一個臨時數(shù)組中, 對原來數(shù)組的元素與臨時數(shù)組元素比較, 臨時...
摘要:數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。在實際項目中碰到的數(shù)組去重,一般都是后臺去處理,很少讓前端處理數(shù)組去重。數(shù)組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在實際項目中碰到的...
摘要:將元素作為對象的鍵,默認鍵對應的值為如果對象中沒有這個鍵,則將這個元素放入結(jié)果數(shù)組中去。 前言 數(shù)組去重在日常開發(fā)中的使用頻率還是較高的,也是網(wǎng)上隨便一抓一大把的話題,所以,我寫這篇文章目的在于歸納和總結(jié),既然很多人都在提的數(shù)組去重,自己到底了解多少呢。又或者是如果自己在開發(fā)中遇到了去重的需求,自己能想到更好的解決方案嗎。 這次我們來理一理怎么做數(shù)組去重才能做得最合適,既要考慮兼容性,...
摘要:中的數(shù)組去重問題,被討論都快爛掉了。,法,根據(jù)對象的屬性不存在相同的特點,有點類似方法。同理這四個值都會被認為是一樣的而被去重。 js中的數(shù)組去重問題,被討論都快爛掉了。網(wǎng)上也有很多方法,不過都大同小異,復制來復制去的。當然這里不是討論我是不是有什么新方法了,沒有,只是在實踐的時候發(fā)現(xiàn)一些問題,值得拿出來說說!去重的思路有幾種 1,第一個與后面所有的比較,發(fā)現(xiàn)重復的就刪除掉,再取第二個...
閱讀 3262·2021-10-13 09:39
閱讀 2017·2021-09-27 13:36
閱讀 3080·2021-09-22 16:02
閱讀 2603·2021-09-10 10:51
閱讀 1585·2019-08-29 17:15
閱讀 1537·2019-08-29 16:14
閱讀 3513·2019-08-26 11:55
閱讀 2555·2019-08-26 11:50