在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 關(guān)于兩個關(guān)聯(lián)數(shù)組去重的問題?

js 關(guān)于兩個關(guān)聯(lián)數(shù)組去重的問題?

場景是用戶可以在添加聯(lián)系人頁面多次任意選擇(返回表單頁再次進入聯(lián)系人頁面),所以會產(chǎn)生重復(fù)的數(shù)據(jù)。
有兩個數(shù)組保存數(shù)據(jù),arr1 要向服務(wù)器發(fā)送用戶的標(biāo)識數(shù)組,arr2在頁面中展示用戶的名字,
arr2不能單獨去重,因為可能會有重名的現(xiàn)象。
我的想法是對arr1數(shù)組進行去重的同時通過index對arr2進行去重。
但是不知道具體代碼該如何寫?不知還有沒有更好的方法?

arr1,保存著用戶的userid
['id1','id2','id2','id4']

arr2,保存著對應(yīng)userid
['小明','小紅','小紅','小明']
回答
編輯回答
冷溫柔

我覺得你可以從再次進入聯(lián)系人頁添加時,『如何不產(chǎn)生重復(fù)數(shù)據(jù)』,這一步來入手

2017年9月12日 11:33
編輯回答
吢丕

看了樓主給別人評論真是哭笑不得,難道你拿到的初始數(shù)據(jù)就是兩個數(shù)組嗎?不是你自己拆的嗎?

var objArr = [{id:'id1',name:'x'},{id:'id2',name:'y'},
{id:'id3',name:'z'},{id:'id1',name:'x'}];
var myMap = new Map();
objArr.forEach((item)=>{
    myMap.set(item.id,item.name);
})
var arr1 = [...myMap.keys()];
var arr2 = [...myMap.values()];
2017年5月2日 09:52
編輯回答
款爺
//Map去重
var map = new Map()
arr1.forEach(function(value,key){
    map.set(value, arr2[key]);
})
arr1 = Array.from(map.keys())
arr2 = Array.from(map.values())

其實這個結(jié)構(gòu)有問題,你應(yīng)該有個arr3放object,結(jié)構(gòu)是

var arr3 = [];
var obj = {
    id:""
    name:""
}
var objmap = new Map();
objmap.set(id,obj);
2018年9月5日 00:23
編輯回答
脾氣硬
var obj = {};
arr1.forEach(function(value,key)
{
    if(obj[value] == undefined)
    {
        obj[value] = arr2[key];
    }
});
2017年11月29日 04:14