推荐写法:
for (var i = list.length - 1; i >= 0; i--) {
if (list[i] === k) {
list.splice(i, 1);
}
}
常规写法:
for (var i = 0; i < list.length; i++) {
if (list[i] === k) {
list.splice(i, 1);
i--;
}
}
比较:
常规写法,需要每次循环中计算一次数组长度,因为数组长度一直在变。而且i--也是必要的,因为当前项删除后,下次遍历还需要取到同一位置的数据。
也就是说常规写法相对推荐写法循环中每次都增加了2次额外运算。