如何使用.indexof JS函数与数组?或选择

How to use .indexOf JS function with array? or Alternative?

本文关键字:数组 选择 函数 何使用 indexof JS      更新时间:2023-09-26

是否有可能使用.indexOf函数与数组进行搜索?这样的:

var d = "Hello";
var s = new Array ("Heart", "David", "Foo", "Hello");
if( d.indexOf(s) != -1) {
  alert("Found Hello");
}

如果我使用上面的代码,那么它不会警告任何东西。我检查了控制台,但是没有错误

我在某处读到.indexOf函数仅用于字符串而不是字符串数组。

是否有替代indexOf在Javascript或.indexOf已经提供了我想要的?

小提琴

你应该在你想要搜索的对象上调用这个方法,而不是在你想要搜索的项目上,在你的例子中是s.indexOf(d)

字符串和数组都有indexOf函数。您将它应用于字符串,并检查其中是否包含数组的字符串化-您没有得到错误,但不工作。你必须用另一种方法来检查字符串是否为数组的一项:

s.indexOf(d) != -1

解决这个问题的另一种方法是使用JavaScript对象的哈希映射属性:

var d = "Hello";
var s = {"Heart": 1, "David": 1, "Foo": 1, "Hello": 1};
if (s[d]) {
    alert("Found Hello");
}