jyl*_*pez 6 javascript arrays for-loop
例如:
var longArray = [1, 2, 3, 4]
var shortArray = [2, 3]
Run Code Online (Sandbox Code Playgroud)
哪一个更快?
首先是长循环:
for (var i = 0; i < longArray.length; i++) {
for (var j = 0; j < shortArray.length; j++) {
if (longArray[i] === shortArray[j]) {
// do something
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者先短循环:
for (var i = 0; i < shortArray.length; i++) {
for (var j = 0; j < longArray.length; j++) {
if (longArray[i] === shortArray[j]) {
// do something
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者我没有考虑任何优势?或者根本没关系?
短循环优先通常更快,只是因为它花费更多时间按照元素在内存中的布局顺序访问元素。您需要longArray有更多的元素,至少几千个。这是一个测试用例来演示差异:https://jsperf.com/loop-order-sl
对于您发布的阵列,其相对longArray较小,性能差异可以忽略不计。正如@Ajaypayne 观察到的那样,较短的数组可能会快一点,反之亦然,具体取决于环境。
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |