js匹配数组中对应的值_javascript - js 数组匹配对象并赋值

在JavaScript中,需要找到两个数组中匹配的id并为第一个数组的元素添加新的值。通常的方法是双重循环,但这种方法效率较低。提供了一个优化的解决方案,通过使用map和find方法,减少了循环次数,提高了效率。对于大量数据的问题,考虑到前端一般不会一次性处理这么多数据,因此优化数据库可能是更好的选择。
摘要由CSDN通过智能技术生成

问 题

如何找到俩个数组中的匹配项并且赋值。如:

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" : &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值