如何从阵列中删除数组?

时间:2011-04-21 01:28:21

标签: javascript

这是我的阵列:

var myarray = [["d1", "sections/Dashboard-summary.html", "Dashboard"], 
               ["add", null, ""],
               ["20", "sections/MW-1-summary.html", "MW-1"],
               ["21", "sections/SB-5-summary.html", "SB-5"]]

如何删除第二个元素["add", null, ""]以便新数组

[["d1", "sections/Dashboard-summary.html?781", "Dashboard"],
["20", "sections/MW-1-summary.html?903", "MW-1"],
["21", "sections/SB-5-summary.html?539", "SB-5"]]

该元素可能并不总是位于第二个位置,但其第一个值始终为“add”。如何使用“add”的第一个值(myarray[1][0])删除数组?

3 个答案:

答案 0 :(得分:4)

  

该元素可能并不总是位于第二个位置,但其第一个值始终为“add”。如何使用“add”的第一个值(myarray[1][0])删除数组?

使用splice()循环。

for (var i = 0, myarrayLength = myarray.length; i < myarrayLength; i++) {
    if (myarray[i][0] === 'add') {
        myarray.splice(i, 1);
        break;
    }
}

jsFiddle

答案 1 :(得分:0)

使用splice,如下所示:

myarray.splice(1, 1)

有关splice的详细信息,请参阅此tutorial

答案 2 :(得分:0)

你可以完全删除它(慢):

myarray.splice(1, 1);

你可以从数组中删除它,并在其中留下一个“洞”(左边的位置1未定义):

delete myarray[1];