场景是用户可以在添加联系人页面多次任意选择(返回表单页再次进入联系人页面),所以会产生重复的数据。有两个数组保存数据,arr1 要向服务器发送用户的标识数组,arr2在页面中展示用户的名字,arr2不能单独去重,因为可能会有重名的现象。我的想法是对arr1数组进行去重的同时通过index对arr2进行去重。但是不知道具体代码该如何写?不知还有没有更好的方法?arr1,保存着用户的userid['id1','id2','id2','id4']arr2,保存着对应userid['小明','小红','小红','小明']
4 回答
狐的传说
TA贡献1804条经验 获得超3个赞
//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())
其实这个结构有问题,你应该有个arr3放object,结构是
var arr3 = [];
var obj = {
id:""
name:""
}
var objmap = new Map();
objmap.set(id,obj);
Helenr
TA贡献1780条经验 获得超4个赞
var obj = {};
arr1.forEach(function(value,key)
{
if(obj[value] == undefined)
{
obj[value] = arr2[key];
}
});
添加回答
举报
0/150
提交
取消
