如何通过数值从数组中删除项目,但仍保留索引顺序而不是重新索引项目的数组? 为了更清楚,下面的代码将按值删除项目,但它将重新索引值,这意味着在我们拼接5之后,15将具有0而不是1的索引。
var arr = [5, 15, 110, 210, 550];
var index = arr.indexOf(5);
if (index > -1) {
arr.splice(index, 1);
}
答案 0 :(得分:5)
如果要保留索引而不是切片,请将索引值设置为undefined ...
var arr = [5, 15, 110, 210, 550];
var index = arr.indexOf(5);
if (index > -1) {
arr[index] = undefined;
}
console.log(arr);
arr.forEach(function(item){
if(item !== undefined){
console.log(item);
}
});
你总是可以迭代,条件过滤未定义的值..