Как удалить строку в двумерном массиве в JavaScript с номером строки. Если я хочу удалить все элементы в строке номер 4, то как это сделать?
Как удалить строку в 2d массиве в javascript
Ответ 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 ] ]
Ответ 2
Предположим, у вас есть массив 'arr', тогда вы можете удалить полную строку arr.splice(3,1)
;
Ответ 3
Я понимаю, что этот вопрос старый, но это один из первых результатов при поиске, как удалить из массива 2d (многомерного) в 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>
Ответ 4
Здесь у вас есть наглядный пример двумерного массива с кнопкой удаления строки (удаление по ID) + предварительный просмотр таблицы jQuery. Я надеюсь, что это может быть полезно!
JS DELETE ROW from Bidimensional ARRAY + Show on jQuery Cart Table
https://jsbin.com/xeqixi/edit?html,js,output
Ответ 5
Просто вызовите метод 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
Ответ 6
удалить массив [индекс]; Массив length--;.
В вашем случае укажите индекс как 4 и выполните приведенный выше оператор, и вам нужно вручную уменьшить длину массива.