JS两个数组根据相同的ID进行重新组合数据?

JS两个数组根据相同的ID进行重新组合数据?,第1张

var c = a.concat(b),//合并成一个数组

temp = {},//用于id判断重复

result = []//最后的新数组

//遍历c数组,将每个item.id在temp中是否存在值做判断,如不存在则对应的item赋值给新数组,并将temp中item.id对应的key赋值,下次对相同值做判断时便不会走此分支,达到判断重复值的目的

c.map((item,index)=>{

if(!temp[item.id]){

result.push(item)

temp[item.id] = true

}

})

console.log(result)

filterTransFer(arr) {  // arr:需要过滤排查的数组

consthash= {}

constnewArr=arr.reduceRight((item,next)=>{

hash[next.id]  // next.id只是其中一个条件

?''

: (hash[next.id] =true&&item.push(next))

returnitem

      }, [])

this.transferList=newArr //newArr就是过滤后的数组,需要重新赋值

    },

var list = [

{ id: "1", name: "test1", rName: "the1" },

{ id: "1", name: "test1", rName: "the2" },

{ id: "1", name: "test1", rName: "the3" },

{ id: "2", name: "test2", rName: "the1" },

{ id: "2", name: "test2", rName: "the2" },

{ id: "3", name: "test3", rName: "the1" }

]

var list2 = []

for (var i in list) {

var list3 = []

for (var j in list) {

if (list[i].id == list[j].id&&list[j].key!=1) {

list[j].key=1

list3.push(list[j])

}

}

if(list3.length>0){

list2.push(list3)

}

}

console.log(list2)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10718011.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存