贴工具函数
/**
* 数组一对一匹配
* 将list2匹配进入list1
*/
function oneToOne(list1, list2, list1Key, list2Key, itemName){
var spareList = []
for (var i = 0; i < list2.length; i++) {
spareList['s' + list2[i][list2Key]] = list2[i]
}
for (var i = 0; i < list1.length; i++) {
list1[i][itemName] = spareList['s' + list1[i][list1Key]]
}
return list1
}
- 场景
var list1 = [
{
name: '马克',
id: 16
},
{
name: '零三',
id: 21
},
{
name: '小明',
id: 18
}
]
var list2 = [
{
list1Id: 16,
speak: 'hello16'
},
{
list1Id: 21,
speak: 'hello21'
},
{
list1Id: 18,
speak: 'hello18'
}
]
var listResult = oneToOne(list1,list2,'id','list1Id','list1Item')
console.log(listResult)
-
结果
-
通常很多人会用循环嵌套,那样数据多了可能性能太差,目前这种写法是自己已学最简便的,如有更好的写法欢迎在下方留言交流
确定不来Q群交流一下? 867364698