在 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(使用前将#替换为@)