How to remove row in 2d array in javascript

后端 未结 6 1659
醉梦人生
醉梦人生 2021-02-05 19:42

How to remove row in two dimensional array in JavaScript with row number. If I want to delete all elements in row number 4 then how can do it??

相关标签:
6条回答
  • 2021-02-05 19:58

    Lets say you have an array 'arr' then you can remove full row by arr.splice(3,1);

    0 讨论(0)
  • 2021-02-05 20:14

    Just call the splice(4, 1) method, when 4 is row number and 1 is number of rows to remove -

    twoDimensionalArray.splice(4, 1); // remove 4th row
    

    Also shift() and pop() are very handy methods which remove first and last rows accordingly -

    twoDimensionalArray.shift(); // to remove first row
    twoDimensionalArray.pop(); // to remove last row
    
    0 讨论(0)
  • 2021-02-05 20:14

    delete array[index]; array.length--;

    In your case give index as 4 and execute the above statement and you need to manually reduce the length of array.

    0 讨论(0)
  • Here you have a visual example of a bidimensional array with row deletion button (delete by ID) + jQuery preview of the table. I hope it can be usefull!

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

    0 讨论(0)
  • 2021-02-05 20:18

    Here's an example of how to remove a row by using 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 ] ]
    
    0 讨论(0)
  • 2021-02-05 20:24

    I realize this question is old, but it is one of the first results when searching for how to remove from a 2d (multidimensional) array in JS.

    Here is what I used to delete the inner array based on a key of the inner array. It should continue to work if there were multiple instances of the same key. In this example, I am searching for, and removing the array with the key of 18.

    Sorry about the formatting - it gets the point across.

    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>

    0 讨论(0)
提交回复
热议问题