【问题标题】:JQuery Remove array from array of arraysJQuery 从数组数组中删除数组
【发布时间】:2013-10-21 23:57:51
【问题描述】:

所以我有一个 2 元素数组的数组,我想知道你们中是否有人知道如何在给定数组的两个元素的情况下删除一个数组。

例如,数组将包含以下元素:

[1, 3]
[2, 5]
[1, 1]

给定两个数字 2 和 5 的顺序,有什么办法可以去掉第二个数组?

【问题讨论】:

  • 你想删除任何/所有包含这两个数字的数组吗?
  • 我尝试创建一个新数组,然后使用 indexOf,然后才意识到 indexOf 不能那样工作。我还考虑过使用 for 循环进行迭代,检查每个索引处的每个数组是否匹配并存储它,然后在最后将其删除,但我想知道是否有更有效的方法。跨度>

标签: javascript jquery arrays multidimensional-array


【解决方案1】:

通过某种方法在数组中搜索匹配项。您可以尝试将较大列表中的每个列表与给您的列表进行比较,或者根据给您的数字创建一个列表并传递它。然后逐项比较每个列表,直到匹配每个项。

如果您发现它,请使用该索引并查看 javascript 库中的 splice method。例如my_lisy.splice(2,2) 参数 1 是指列表的索引,参数 2 是要删除的项目数。

【讨论】:

    【解决方案2】:

    你可以试试这样的:

    var arr = [[1, 3], [2, 5], [1, 1]];
    var result = [];
    
    for(var i = 0, len = arr.length; i < len; i++) {
       // If the element is the one we don't wan't, skip it
       if(arr[i][0] == 2 && arr[i][1] == 5) {
           continue;
       }
       // Otherwise, add it to the result
       result.push(arr[i]);
    }
    
    console.log(result); //[[1, 3], [1, 1]]
    

    您可以从循环中添加或提取任何逻辑以满足您的需求

    【讨论】:

    • 谢谢!我之前考虑过使用 for 循环并存储索引,但我不知道 javascript 有 continue 语句。
    猜你喜欢
    • 2013-10-28
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    相关资源
    最近更新 更多