Как удалить строку в 2d массиве в javascript

Как удалить строку в двумерном массиве в JavaScript с номером строки. Если я хочу удалить все элементы в строке номер 4, то как это сделать?

Ответ 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 и выполните приведенный выше оператор, и вам нужно вручную уменьшить длину массива.