在 JavaScript 中,我有以下数组。
现在,我需要类似于“filter”的功能,但是它会返回索引。
如果我尝试使用“filter”,它会按以下方式工作。
var arr = [5, 10, 2, 7];
我希望从该数组中获取一个仅包含小于10的项目索引的数组。因此,在上面的示例中,索引数组将是
var indexes = [0, 2, 3];
现在,我需要类似于“filter”的功能,但是它会返回索引。
如果我尝试使用“filter”,它会按以下方式工作。
var newArr = arr.filter(function (d) {
return (d < 10);
});
// newArr will be: [5, 2, 7];
这不是我想要的。我需要类似以下伪代码的东西(请注意这是伪代码)
var indexes = arr.filter(function (d) {
/* SOMETHING ALONG THE FOLLOWING PSEUDOCODE */
/* return Index of filter (d < 10); */
});
// indexes will be: [0, 2, 3];
我该怎么做呢?谢谢。
filter
不会改变原始数组。您仍然可以使用原始数组arr
来获取过滤后的数组中的索引。 - ibrahim mahrir