问 题
如何找到俩个数组中的匹配项并且赋值。如:
var arr1=[{"id":1},{"id":2}{"id":3}....];
var arr2=[{"id":1,"value":"a"},{"id"2,"value":"b"}...];
目前想到的方法就是循环里套循环来匹配:
for(i=0;i
var temID=arr1[i].id;
for(var j=0;j
if(temID==arr2[j].id){
arr1[i]["newValue"]=arr2[j]["value"];
break;
}
}
}
有没有什么更加简便高效的方法?
解决方案
WeiJietao的答案是不是默认了两个数组长度一致,且顺序一致?这个题目没有这么说明吧, 贴下自己写的如下。优化了下语义,代码量。要扩展的话加几个参数就ok。
var arr1=[{"id" : 33}, {"id" : 42}, {"id" : 21}, {"id" : 2}, {"id" : 777}];
var arr2=[{"id" : 3, "value" : "a"}, {"id" : 2, "value" : "b"}, {"id" : 42, "value" : &