Ada*_*dam 3 javascript arrays position indexof
假设我有这个数组:
var a = [1,2,99,3,4,99,5];
Run Code Online (Sandbox Code Playgroud)
我想获得第二个的位置99,例如:
a.indexOf(99, 2) // --> 5
Run Code Online (Sandbox Code Playgroud)
然而,第二个参数indexOf只是告诉从哪里开始搜索。有没有内置函数可以做到这一点?如果不是你会怎么做?
谢谢!
只有indexOf和lastIndexOf。你可以循环它:
var a = [1,2,99,3,4,99,5];
var matches = []
for (var i=0; i<a.length; i++){
if (a[i] == 99) {
matches.push(i)
}
}
console.log(matches); // [2, 5]
Run Code Online (Sandbox Code Playgroud)
如果你总是想要第二次出现,Jan 的方法也不错:
a.indexOf(99, a.indexOf(99) + 1)
Run Code Online (Sandbox Code Playgroud)
indexOf右侧的调用查找第一个匹配项,然后+1将搜索范围限制为其后面的元素。
| 归档时间: |
|
| 查看次数: |
5810 次 |
| 最近记录: |