如何使用 JavaScript 中的索引过滤数组数组? [复制]

Posted

技术标签:

【中文标题】如何使用 JavaScript 中的索引过滤数组数组? [复制]【英文标题】:How do I filter through an array of arrays using an index in JavaScript? [duplicate] 【发布时间】:2022-01-15 08:37:25 【问题描述】:

我正在开发一个 javascript 端项目,我有一个 json 文件,其中包含一个数组,其中包含如下数组:

arr = 


  "values": [
    ["Form Factor", "OS"],
    ["Landscape", "android 9\n(Source)"],
    ["Portrait", "Analogue OS"],
    ["Micro\nLandscape", "?"]
  ]

第一个带有“Form factor”(索引 0)的数组是标题。如果我想从数组中获取所有“外形因素”,我该怎么做?

我知道“Form Factor”的索引为 0,但是如何使用索引一次过滤多个数组?最后我想要一个像

这样的数组

results = ["Form Factor", "Landscape", "Portrait", "Micro\nLandscape"]

我试过这样:

const index = 0;
const result = this.arr.values.filter(function (eachElem) 
        return eachElem == index;
      );

但这只会给我一个空数组。

【问题讨论】:

【参考方案1】:

别忘了查看this

arr.values.map(x => x[0])

【讨论】:

【参考方案2】:

只需使用 array.find() 就容易多了,你可以在你的数组中搜索你的元素:

const found = array1.find(element => element > 10);

【讨论】:

【参考方案3】:

您的代码不起作用,因为 a) 未定义索引,您还需要将其作为参数,并且 b) 在您的情况下,没有任何元素为真。 在您的情况下,我会使用传统的 for 循环,但如果您愿意,可以使用 es6 魔法来完成。

let result = [];
for (let i = 0; i < arr.values.length; i++) 
    result.push(arr.values[i][0]);

console.log(result);

【讨论】:

以上是关于如何使用 JavaScript 中的索引过滤数组数组? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 Javascript 中的用户输入过滤数组?

如何使用 JavaScript 在 ReThinkDB 中的 ReQL 中的数组上应用过滤器

如何使用javascript减去数组中的值

使用Javascript比较(过滤)动态数组中的多个数组值

如何使用 JavaScript/jQuery 按数组或对象中的多个项目进行索引?

从过滤方法javascript返回索引值