我想返回满足一元谓词的第一个元素的索引。
示例:
[1,2,3,4,5,6,7].indexOf((x) => x % 3 === 0) // returns 2
有这样的功能吗?我原来打算使用的替代方案是
[1,2,3,4,5,6,7].reduce((retval,curelem,idx) =>
{
if(curelem % 3 === 0 && retval === undefined)
retval = idx;
return retval;
}, undefined);
但当然这样做效率会更低,因为它在找到元素后不会停止遍历数组。