怎么在JavaScript中對象數(shù)組去重?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比瑪納斯網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式瑪納斯網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋瑪納斯地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
1、js屬于一種解釋性腳本語言;2、在絕大多數(shù)瀏覽器的支持下,js可以在多種平臺下運行,擁有著跨平臺特性;3、js屬于一種弱類型腳本語言,對使用的數(shù)據(jù)類型未做出嚴格的要求,能夠進行類型轉(zhuǎn)換,簡單又容易上手;4、js語言安全性高,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而有效地防止數(shù)據(jù)的丟失;5、基于對象的腳本語言,js不僅可以創(chuàng)建對象,也能使用現(xiàn)有的對象。
1、使用reduce()方法對象數(shù)組去重
reduce()方法從左到右依次處理數(shù)組的每個成員,最終累計為一個值。
去重思路:
通過數(shù)組的reduce()方法對數(shù)組的對象從左到右進行處理,定義一個空對象obj{};
如果數(shù)組當(dāng)前對象的name不在obj{},就將當(dāng)前對象的name加入到空對象,并將當(dāng)前對象push到積累變量total數(shù)組里;
如果當(dāng)前對象的name存在obj{},則跳過push操作。
//reduce第一個參數(shù)是遍歷需要執(zhí)行的函數(shù),第二個參數(shù)是item的初始值 var arr = [{"id":1,"name":"張三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"},{"id":2,"name":"張三"}]; var obj = {}; arr = arr.reduce(function(item, next) { obj[next.id] ? '' : obj[next.id] = true && item.push(next); return item; }, []); console.log(arr);
2、利用set去重
unique(arr) { const res = new Map(); return arr.filter((a) => ( (!res.has(a.planNo) && res.set(a.planNo, 1))&& (!res.has(a.jobId) && res.set(a.jobId, 1)))); }
關(guān)于怎么在JavaScript中對象數(shù)組去重問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
文章標(biāo)題:怎么在JavaScript中對象數(shù)組去重
標(biāo)題來源:http://jinyejixie.com/article12/psgodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、App設(shè)計、動態(tài)網(wǎng)站、定制開發(fā)、域名注冊、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)