首页 > 解决方案 > 在 JavaScript 中查找数组中正元素的索引

问题描述

我想使用 JS 中的纯函数返回具有正元素的数组的索引数组。前任:

pos([1,-4,0,5,2])

>>[0,2,3,4]

所以,我尝试了:

  arr.map(function (ele){
   return arr.findIndex(ele => ele > 0);
  })

But my output is :[1,1,1,1]

有人可以告诉我有什么问题吗?我相信我的地图功能是正确的,但 findIndex() 有问题。(请不要告诉我代码,因为这是我的作业问题。只需要提示。)

标签: javascript

解决方案


map()不太正确,因为原始数组中的每个元素都没有相应的输出。reduce()在这种情况下可能是您想要的:

function pos(arr){
    return arr.reduce((ret_arr, number, index) => {
        if (number >= 0) ret_arr.push(index)
        return ret_arr
    }, [])

}

console.log(pos([1,-4,0,5,2]))


推荐阅读