哆啦的時(shí)光機(jī)
2019-03-13 18:15:47
場景是用戶可以在添加聯(lián)系人頁面多次任意選擇(返回表單頁再次進(jìn)入聯(lián)系人頁面),所以會產(chǎn)生重復(fù)的數(shù)據(jù)。有兩個(gè)數(shù)組保存數(shù)據(jù),arr1 要向服務(wù)器發(fā)送用戶的標(biāo)識數(shù)組,arr2在頁面中展示用戶的名字,arr2不能單獨(dú)去重,因?yàn)榭赡軙兄孛默F(xiàn)象。我的想法是對arr1數(shù)組進(jìn)行去重的同時(shí)通過index對arr2進(jìn)行去重。但是不知道具體代碼該如何寫?不知還有沒有更好的方法?arr1,保存著用戶的userid['id1','id2','id2','id4']arr2,保存著對應(yīng)userid['小明','小紅','小紅','小明']
4 回答

狐的傳說
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
//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())
其實(shí)這個(gè)結(jié)構(gòu)有問題,你應(yīng)該有個(gè)arr3放object,結(jié)構(gòu)是
var arr3 = [];
var obj = {
id:""
name:""
}
var objmap = new Map();
objmap.set(id,obj);

Helenr
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
var obj = {};
arr1.forEach(function(value,key)
{
if(obj[value] == undefined)
{
obj[value] = arr2[key];
}
});

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消