如何在javascript中删除2d数组中的行

时间:2015-03-16 06:41:16

标签: javascript multidimensional-array delete-row

如何使用行号删除JavaScript中的二维数组中的行。如果我想删除第4行中的所有元素,那该怎么办?

6 个答案:

答案 0 :(得分:10)

以下是使用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 ] ]

答案 1 :(得分:5)

让我们说你有一个阵列&#39; arr&#39;然后您可以按arr.splice(3,1);

删除整行

答案 2 :(得分:2)

我意识到这个问题已经过时了,但它是搜索如何从JS中的2d(多维)数组中删除时的第一个结果。

以下是我用来根据内部数组的键删除内部数组的内容。如果存在同一密钥的多个实例,它应该继续工作。在这个例子中,我正在搜索,并使用18的键删除数组。

对格式化感到抱歉 - 它得到了重点。

&#13;
&#13;
height
&#13;
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;
&#13;
&#13;
&#13;

答案 3 :(得分:1)

这里有一个带有行删除按钮(按ID删除)+表的jQuery预览的二维数组的可视示例。 我希望它可以有用!

JS DELETE ROW from Bidimensional ARRAY + Show on jQuery Cart Table https://jsbin.com/xeqixi/edit?html,js,output

答案 4 :(得分:0)

只需调用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

答案 5 :(得分:0)

删除数组[索引]; array.length-;

在您的情况下,将索引设置为4并执行上面的语句,您需要手动减少数组的长度。