获取过滤数组项的索引

2024-01-14

在 JavaScript 中,我有以下数组

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];

我怎样才能做到这一点?谢谢。


使用减速机。

var arr = [5, 10, 2, 7];

var newArr = arr.reduce(function(acc, curr, index) {
  if (curr < 10) {
    acc.push(index);
  }
  return acc;
}, []);


console.log(newArr);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取过滤数组项的索引 的相关文章

随机推荐