【发布时间】:2025-12-25 19:35:12
【问题描述】:
在遍历两个不同的数组时,我有一个严格基于性能的问题。
我的第一个数组是按以下方式组成的,对象由一个 {id, number} 组成
var arr1 = [{id: 1, number: 7}, {id: 2, number: 5}];
我的第二个数组由相同的 id 字段和一个字符串值组成
var arr2 = [{id: 2, string: 'foo'}, {id: 1, string: 'bar'}];
我的问题是,我需要将第一个数组中的 id 与第二个数组按该顺序进行匹配。我用以下方式编写了我的代码。
arr1.forEach(function(x){
arr2.forEach(function(y){
if(condition){
Do something...
}
});
});
有没有更快/更有效的方法来遍历数组而无需两个 forEach 循环?还是该配置是比较所有值的最佳方法?
我编写的代码可以正常工作并且返回没有问题,但我不禁想到这里有更快(性能方面)的方法或方法来做同样的事情......
感谢您对此的任何和所有见解!
【问题讨论】:
-
id对于每个数组是否都是唯一的? -
id是升序吗?如果是,则获取 arr1 的 id 并在不循环的情况下访问 arr2 的确切位置
-
是
id排序在arr1中吗? -
可能重复 - *.com/questions/43031988/…
-
这是一个主要基于意见的问题,因为您将获得很多基于经验等的意见。因此,这问题应该结束了。
标签: javascript arrays iteration performance-testing