js中數(shù)組對(duì)象去重的兩種方法
方法一:
采用對(duì)象訪問屬性的方法,判斷屬性值是否存在,如果不存在就添加。
方法二:
采用數(shù)組中的reduce方法,遍歷數(shù)組,也是通過對(duì)象訪問屬性的方法
var arr = [{ key: '01', value: '樂樂' }, { key: '02', value: '博博' }, { key: '03', value: '淘淘' },{ key: '04', value: '哈哈' },{ key: '01', value: '樂樂' }]; // 方法1:利用對(duì)象訪問屬性的方法,判斷對(duì)象中是否存在key var result = []; var obj = {}; for(var i =0; i<arr.length; i++){ if(!obj[arr[i].key]){ result.push(arr[i]); obj[arr[i].key] = true; } } console.log(result); // [{key: "01", value: "樂樂"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}] // 方法2:利用reduce方法遍歷數(shù)組,reduce第一個(gè)參數(shù)是遍歷需要執(zhí)行的函數(shù),第二個(gè)參數(shù)是item的初始值 var obj = {}; arr = arr.reduce(function(item, next) { obj[next.key] ? '' : obj[next.key] = true && item.push(next); return item; }, []); console.log(arr); // [{key: "01", value: "樂樂"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]
若有不足請(qǐng)多多指教!希望給您帶來幫助!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
禁用JavaScript控制臺(tái)調(diào)試的方法
這篇文章主要介紹了禁用JavaScript控制臺(tái)調(diào)試的方法,需要的朋友可以參考下2014-03-03JS笛卡爾積算法與多重?cái)?shù)組笛卡爾積實(shí)現(xiàn)方法示例
這篇文章主要介紹了JS笛卡爾積算法與多重?cái)?shù)組笛卡爾積實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了javascript根據(jù)對(duì)象或數(shù)組生成笛卡爾積的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12全面解析Bootstrap彈窗的實(shí)現(xiàn)方法
這篇文章全面解析Bootstrap彈窗的實(shí)現(xiàn)方法,對(duì)其結(jié)構(gòu)進(jìn)行詳細(xì)分析,感興趣的小伙伴們可以參考一下2015-12-12javascript學(xué)習(xí)筆記之10個(gè)原生技巧
首先在這里要非常感謝無私分享作品的網(wǎng)友們,這些代碼片段主要由網(wǎng)友們平時(shí)分享的作品代碼里面和經(jīng)常去逛網(wǎng)站然后查看源文件收集到的。把平時(shí)網(wǎng)站上常用的一些實(shí)用功能代碼片段通通收集起來,方便網(wǎng)友們學(xué)習(xí)使用,利用好的話可以加快網(wǎng)友們的開發(fā)速度,提高工作效率。2014-05-05