【发布时间】:2019-07-02 14:47:03
【问题描述】:
试图找出一种方法,如果我的循环结果等于未定义,让我的 array.push 什么都不做。这是我的代码。
barcodes.sort();
var first = barcodes.slice(0, (barcodes.length + 1) / 2);
var second = barcodes.slice(((barcodes.length + 1) / 2), barcodes.length);
var result = [];
for (var i = 0; i < barcodes.length; i++) {
if (i % 2 === 0) {
result.push(first[i / 2]);
result.push(second[parseInt(i)/2]);
}else {
}
}
在奇数时得到结果:(当偶数很好时)
array results (12) ["1001", "9003", "3001", "9005", "3002", "9006", "3003", "9007", "9001", "9008", "9002", undefined]
【问题讨论】:
-
为什么还要调用push?跳过它。
-
同意@PeterB。我看不出保留代码的 else 部分的任何正当理由
-
请添加缺少的部分和想要的结果。
-
i在您的示例中永远不会是undefined。 -
在循环内部,i 永远不会是未定义的
标签: javascript for-loop undefined void