如何删除 javascript 中二维数组中的行
How to remove row in 2d array in javascript
如何删除 JavaScript 二维数组中带有行号的行。如果我想删除第 4 行中的所有元素,那该怎么做呢??
假设你有一个数组 'arr' 那么你可以通过 arr.splice(3,1)
;
删除整行
下面是如何使用 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 ] ]
只需调用 splice(4, 1)
方法,当 4 是行号,1 是要删除的行数时 -
twoDimensionalArray.splice(4, 1); // remove 4th row
另外 shift()
和 pop()
是非常方便的方法,可以相应地删除第一行和最后一行 -
twoDimensionalArray.shift(); // to remove first row
twoDimensionalArray.pop(); // to remove last row
我意识到这个问题很老了,但它是搜索如何从 JS 中的二维(多维)数组中删除时的第一个结果之一。
这里是我用来根据内部数组的一个键删除内部数组的。如果同一个密钥有多个实例,它应该会继续工作。在此示例中,我正在搜索并删除键为 18.
的数组
抱歉格式问题 - 它明白了要点。
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>
这里有一个二维数组的可视化示例,带有行删除按钮(按 ID 删除)+ jQuery table 预览。
希望对大家有用!
JS DELETE ROW from Bidimensional ARRAY + Show on jQuery Cart Table
https://jsbin.com/xeqixi/edit?html,js,output
删除数组[索引];
array.length--;
你的情况下索引为4并执行上面的语句,你需要手动减少数组的长度。
如何删除 JavaScript 二维数组中带有行号的行。如果我想删除第 4 行中的所有元素,那该怎么做呢??
假设你有一个数组 'arr' 那么你可以通过 arr.splice(3,1)
;
下面是如何使用 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 ] ]
只需调用 splice(4, 1)
方法,当 4 是行号,1 是要删除的行数时 -
twoDimensionalArray.splice(4, 1); // remove 4th row
另外 shift()
和 pop()
是非常方便的方法,可以相应地删除第一行和最后一行 -
twoDimensionalArray.shift(); // to remove first row
twoDimensionalArray.pop(); // to remove last row
我意识到这个问题很老了,但它是搜索如何从 JS 中的二维(多维)数组中删除时的第一个结果之一。
这里是我用来根据内部数组的一个键删除内部数组的。如果同一个密钥有多个实例,它应该会继续工作。在此示例中,我正在搜索并删除键为 18.
的数组抱歉格式问题 - 它明白了要点。
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>
这里有一个二维数组的可视化示例,带有行删除按钮(按 ID 删除)+ jQuery table 预览。 希望对大家有用!
JS DELETE ROW from Bidimensional ARRAY + Show on jQuery Cart Table
https://jsbin.com/xeqixi/edit?html,js,output
删除数组[索引]; array.length--;
你的情况下索引为4并执行上面的语句,你需要手动减少数组的长度。