如何找到数组中所有元素出现的索引?

如何找到数组中所有元素出现的索引?,第1张

如何找到数组中所有元素出现的索引

.indexOf()
方法有一个可选的第二个参数,用于指定从其开始搜索的索引,因此您可以在循环中调用它以查找特定值的所有实例:

function getAllIndexes(arr, val) {    var indexes = [], i = -1;    while ((i = arr.indexOf(val, i+1)) != -1){        indexes.push(i);    }    return indexes;}var indexes = getAllIndexes(Cars, "Nano");

您并没有真正弄清楚如何使用索引,因此我的函数将它们作为数组返回(或者如果找不到该值,则返回一个空数组),但是您可以对各个索引值执行其他 *** 作在循环内。

更新:根据VisioN的评论,简单的for循环将更有效地完成相同的工作,并且更易于理解,因此更易于维护:

function getAllIndexes(arr, val) {    var indexes = [], i;    for(i = 0; i < arr.length; i++)        if (arr[i] === val) indexes.push(i);    return indexes;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5017926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存