js双重for循环优化 实例代码
时间: 2024-09-28 18:01:02 浏览: 37
vue-for循环嵌套操作示例
在JavaScript中,如果需要对两个数组进行双层循环操作,例如合并两个二维数组,可以使用嵌套循环。然而,当数据量大时,这种直接的双重循环可能会导致性能问题。以下是一个简单的例子,展示了如何优化这种场景:
```javascript
// 原始的双层循环(不推荐)
function naiveMerge(arr1, arr2) {
let result = [];
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
result.push([arr1[i], arr2[j]]);
}
}
return result;
}
// 更优的解决方案(利用Array.prototype.flatMap)
function optimizedMerge(arr1, arr2) {
return arr1.flatMap(row => row.concat(arr2));
}
```
在这个优化版本中,我们使用了`Array.prototype.flatMap()`,它会创建一个新的数组,其中每个元素都是原数组中对应元素的扁平化结果。这样避免了创建大量的临时数组,提高了效率。
阅读全文