第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

ES6對(duì)象數(shù)組根據(jù)某個(gè)屬性去重最優(yōu)雅的實(shí)現(xiàn)方式是什么?

ES6對(duì)象數(shù)組根據(jù)某個(gè)屬性去重最優(yōu)雅的實(shí)現(xiàn)方式是什么?

縹緲止盈 2019-03-06 15:13:54
符合題意的解決辦法function unique(arr) {    const res = new Map();    return arr.filter((a) => !res.has(a) && res.set(a, 1))}因?yàn)閙ap key唯一,所以你想要根據(jù)哪個(gè)屬性去重,res.has(a)里a就可以改成什么,比如a.name參考:https://segmentfault.com/a/11...箭頭函數(shù)return arr.filter((a) => !res.has(a) && res.set(a, 1))//上面的代碼可以改成這樣return arr.filter(function(a){    return !res.has(a) && res.set(a, 1);});1、箭頭函數(shù)寫代碼擁有更加簡(jiǎn)潔的語(yǔ)法;2、不會(huì)綁定this。分割線,下面是我的個(gè)人問(wèn)題,跟問(wèn)題有些出入,采納了我符合我個(gè)人問(wèn)題的答案,抱歉我是這么寫的,參考了 https://segmentfault.com/q/10...https://blog.csdn.net/zhihua_...問(wèn)題和文章,但覺(jué)得不是很優(yōu)雅,好像沒(méi)有用什么es6的新東西,請(qǐng)問(wèn)es6有更好地實(shí)現(xiàn)方式嗎?謝謝各位getGameVersionList() {    const versionList = this.page.resultList    const versionSet = [0]    const hash = {}    for (var i = 0, gameVersion; (gameVersion = versionList[i]) != null; i++) {      if (!hash[gameVersion.gameVersionNo]) {        versionSet.push(gameVersion.gameVersionNo)        hash[gameVersion.gameVersionNo] = true      }    }    this.gameVersionNoSet = versionSet  },
查看完整描述

3 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

getGameVersionList() {

    return [0, ...new Set(this.page.resultList.map(item => item.gameVersionNo))]

}


查看完整回答
反對(duì) 回復(fù) 2019-03-27
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

用filter吧,符合條件的可以直接return,在配合存hash。


hash直接把值作為key是有坑的,比如[1, '1', [1]],這三個(gè)當(dāng)作key就一模一樣都是'1'。

用map也不行:


let map = new Map();

map.set([1], 'test');

map.get([1]) //undefined

前后的[1]不是同一個(gè)一樣取不到,還是object模擬hash配合類型判斷吧。


剛想了下,兩個(gè)[1]本來(lái)就不重復(fù),看需求吧,還是可以用map做hash的。


查看完整回答
反對(duì) 回復(fù) 2019-03-27
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

用lodash吧
unionBy

查看完整回答
反對(duì) 回復(fù) 2019-03-27
  • 3 回答
  • 0 關(guān)注
  • 3990 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)