作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在寻找像 Array.prototype.findIndex 这样的函数它返回一个索引数组。就像 Array.prototype.find 和 Array.prototype.filter 分别返回一个项目和一组项目。我正在查看 MDN,但找不到任何合适的内容。
我希望与 future 版本的 javascript 保持兼容,是否计划添加一些内容?
最佳答案
我猜最合适的内置方法是 flatMap
,您可以使用它来映射数组:
['a', 'c', 'a', 'b'].flatMap((v, i) => v == 'a' ? [i] : [])
我不知道有任何添加此类功能的建议。如果您更频繁地需要此功能,您可以编写自己的辅助函数:
function findIndices(array, callback, ctx) {
const res = [];
for (let i=0; i<array.length; i++)
if (callback.call(ctx, array[i], i, array))
res.push(i);
return res;
}
findIndices(['a', 'c', 'a', 'b'], v => v == 'a')
关于javascript - 有没有像filterIndex之类的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252402/
我是一名优秀的程序员,十分优秀!