最近公司的项目需要对接合作单位的数据库里面的信息,再对接的过程中需要用到双重for循环,遇到好多坑,希望能给其他的小伙伴提供点思路和解决方案。
下边是两个数组,a数组中的对象有id和value两个键值,b数组中interid是绑定的a数组中的id值。我们现在想实现的功能是根据a数组的id值判断b数组interid值是否匹配,若匹配将该条数据写入到a数组的新的属性中,从而形成新的数组c。
let a = [{id:"1",value:"aaa"},{id:"12",value:"bbb"},{id:"123",value:"www"}];
let b = [{id:"7",cus:"cc",interid:"123"},{id:"8",cus:"dd",interid:""},{id:"9",cus:"ee",interid:""}];
let c = [{id:"1",value:"aaa"},{id:"12",value:"bbb"},{id:"123",value:"www",{id:"7",cus:"cc",interid:"123"}}];
实现方式如下所示:
let c=[];
//遍历数组a
for (let index = 0; index < a.length; index++) {
c.push(a[index]);
for (let i = 0; i < b.length; i++) {
if (a[index].id == b[i].interid) {
c[index]["relation"] = b[i];
}
}
}