如何找到具有特定值的数组索引?

243

假设我有这个:

imageList = [100,200,300,400,500];

这给了我

[0]100 [1]200 等等。

在JavaScript中是否有一种方法可以返回带有值的索引?

也就是说,我想要 200 的索引,我将得到 1


6
这里有一个很棒的答案 -> https://dev59.com/E3VC5IYBdhLWcg3wnCj6 - Manse
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf - Matt Ball
12个回答

0

这是我的看法,似乎大多数人的解决方案没有检查该项是否存在,如果不存在,则会删除随机值。

首先通过查找其索引检查元素是否存在。 如果它存在,则使用splice方法按其索引删除它

elementPosition = array.indexOf(value);

if(elementPosition != -1) {
  array.splice(elementPosition, 1);
}

-1
// Instead Of 
var index = arr.indexOf(200)

// Use 
var index = arr.includes(200);

请注意:Includes函数是数组的一个简单实例方法,可以帮助轻松查找数组中是否包含某个项(与indexOf不同,包括NaN)。

1
除了告诉你它是否存在,而不是获取索引/项之外,还要注意兼容性(即无IE):https://caniuse.com/#search=includes - moto
includes 返回一个布尔值,指示数组是否包含指定的值。参考链接 - Heretic Monkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接