如何在JavaScript中删除二维数组中的行,如果我想要删除行号为4的所有元素,该怎么做?
如何在JavaScript中删除二维数组中的行,如果我想要删除行号为4的所有元素,该怎么做?
这是一个使用splice
来删除行的示例:
var array = [];
var count = 0;
for (var row=0; row<4; row++) {
array[row] = [];
for (var col=0; col<5; col++) {
array[row][col] = count++;
}
}
console.log(array);
[ [ 0, 1, 2, 3, 4 ],
[ 5, 6, 7, 8, 9 ],
[ 10, 11, 12, 13, 14 ],
[ 15, 16, 17, 18, 19 ] ]
function deleteRow(arr, row) {
arr = arr.slice(0); // make copy
arr.splice(row - 1, 1);
return arr;
}
console.log(deleteRow(array, 4));
[ [ 0, 1, 2, 3, 4 ],
[ 5, 6, 7, 8, 9 ],
[ 10, 11, 12, 13, 14 ] ]
arr.splice(3,1)
来删除整行;var items = [
["19", 1],
["18", 2],
["20", 3]
];
//console.log(items);
document.getElementById("a").innerHTML = items;
for (var i = 0; i < items.length; i++) {
if (items[i][0] == "18") {
items.splice(i, 1);
}
}
//console.log(items);
document.getElementById("b").innerHTML = items;
<p>Before</p>
<div id='a'></div>
<p>After</p>
<div id='b'></div>
当需要删除第4行及其后面的1行时,只需调用splice(4, 1)
方法即可。
twoDimensionalArray.splice(4, 1); // remove 4th row
shift()
和pop()
是非常方便的方法,可以相应地删除第一行和最后一行。twoDimensionalArray.shift(); // to remove first row
twoDimensionalArray.pop(); // to remove last row
删除数组[index]; array.length--;
在您的情况下,将索引设置为4并执行上述语句,您需要手动减少数组的长度。
length
属性是一个警告信号。你的代码会在第四个索引处留下一个空项,且会失去数组中的最后一项。 - Théophile
splice
。array.splice(indexOfArr,1)
- Vandolph Reyes