ES6中對(duì)象數(shù)組根據(jù)屬性去重的方法

首先我們經(jīng)常能看到類(lèi)似這樣的數(shù)據(jù)

let datainfo=[
    {task:'1',
        keyword:'abc',

    },
    {task:'1',
        keyword:'abd',
    },
    {task:'3',
        keyword:'abe',
    },
    {task:'2',
        keyword:'abd',
    }
]

這種情況下我們需要進(jìn)行根據(jù)task屬性進(jìn)行去重,在過(guò)去,我們可以通過(guò)lodash的uniqBy的方法來(lái)達(dá)到這個(gè)目的。

今天介紹使用ES6的的方法來(lái)實(shí)現(xiàn)這個(gè)目的:

let hash = {};
datainfo = datainfo.reduce(function(item, next) {
    hash[next.task] ? '' : hash[next.task] = true && item.push(next);
    return item
}, [])
console.log(datainfo);

執(zhí)行完成后控制臺(tái)將看到的結(jié)果如下:

[ { task: '1', keyword: 'abc' },
  { task: '3', keyword: 'abe' },
  { task: '2', keyword: 'abd' } ]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容