我已经编写了一段运行良好的代码。我想要一个新数组,其中包含 myArr 中的元素(按照 orderArr 中指定的顺序)。但是,它在另一个 for 循环中使用 for 循环来匹配数组元素。
var myArr = ['a', 'b', 'c', 'd', 'e'];
var orderArr = ['e', 'c'];
var reArr = [];
for (var i = 0; i < orderArr.length; i++) {
for (var k = 0; k < myArr.length; k++) {
if (myArr[k] == orderArr[i]) {
reArr.push(myArr[k]);
}
}
}
console.log(reArr);
我经常听说在另一个 for 循环中使用 for 循环是不好的做法,甚至应该避免使用 forEach。
我还能如何重写这段代码。
我不一定会说在循环中使用循环是一种不好的做法 - 事实上,Ori Drori 比我先指出这种做法的效率可能仅仅取决于数据集的大小。
例如,有很多实现排序算法 https://en.wikipedia.org/wiki/Sorting_algorithm而且你经常会发现循环中的循环。然而,随着数据大小的变化,实现的细节会影响性能。
我自己的个人经验是,当我看到嵌套循环时,我立即问自己它正在执行的操作是否需要使用不同的算法进行优化。在 JavaScript(浏览器)应用程序中,答案通常是“否”,因为数据大小很少大到足以产生有影响力的变化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)