如何使用 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 在 ReThinkDB 中的 ReQL 中的数组上应用过滤器