繁体   English   中英

如何使用 JavaScript 中的索引过滤 arrays 数组?

[英]How do I filter through an array of arrays using an index in JavaScript?

我正在研究 JavaScript 侧面项目,我有一个 json 文件,其中包含一个带有 arrays 的数组,如下所示:

arr = 

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

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

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

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

我试过这样:

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

但这只是给了我一个空数组。

不要忘记检查这个

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM