【问题标题】:get selected rows based on column names (Multidimensional Array) : Javascript [duplicate]根据列名(多维数组)获取选定的行:Javascript [重复]
【发布时间】:2020-12-14 09:38:31
【问题描述】:

我有一个多维数组,如下所示:

[
["1","success","5"],
["2","success","5"],
["3","success","5"],
["4","fail","5"],
["5","fail;","5"],
["6","fail","5"],
["7","success","5"],
["8","fail","5"],
];

我需要的是根据successfail 类型选择特定的行。这意味着对于 eaxmple,我必须只获取第二列名为 success的数据

我已经编写了一个代码,但它在单独的数组中为我提供了值。 我想要这种格式的数据

 [
    ["1","success","5"],
    ["2","success","5"],
    ["3","success","5"],
    ["7","success","5"],
]

我尝试过的代码如下:

  var success = [];
     for(var i=0;i<arr.length;i++)
     {
        if(arr[i][1] =='success')
        {
         success = [arr[i]];
         console.log(success);
        }
     }

我想要单个数组中的所有数据。 这是我尝试过的小提琴链接:https://jsfiddle.net/abnitchauhan/09zchjak/

【问题讨论】:

  • 您的代码的问题是您在每次匹配时都替换 success 中的值。相反,您想添加到它:success.push(arr[i])。 (但正如下面的答案所说,filter 是为了这个特定目的。)
  • 我想我可以帮您解决您的问题,先生,如何讨论?

标签: javascript arrays multidimensional-array


【解决方案1】:

您可以使用array filter 方法。

const data = [
  ['1', 'success', '5'],
  ['2', 'success', '5'],
  ['3', 'success', '5'],
  ['4', 'fail', '5'],
  ['5', 'fail;', '5'],
  ['6', 'fail', '5'],
  ['7', 'success', '5'],
  ['8', 'fail', '5'],
];
const success = data.filter((x) => x[1] === 'success');
console.log(success);

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多