【发布时间】:2019-01-01 08:45:24
【问题描述】:
如果存在使用for...of 迭代的二维数组,跳过最后一个元素的最佳方法是什么?
例如,有一个数组arr,通常的做法是:
for(const subArray of arr) { ... }
在循环之前跳过它可以使用的最后一个元素:arr.slice(0, -1); 可以正常工作,但它会删除应该避免的数据。
有没有办法让它跳过最后一个元素而不丢失数据?
【问题讨论】:
-
您可以保留一个索引并检查您是否在最后一个元素上
-
只使用一个普通的旧
for循环 -
或者只是每次检查
if (subArray === arr[arr.length - 1]) { /* last element */ } -
我认为
slice是正确的方法。它返回一个浅拷贝,因此不会影响原始数组:for(const subArray of arr.slice(0, -1)) { ... } -
for (var i = 0; i
标签: javascript arrays for-loop for-of-loop