Javascript我应该使用什么方法来查找或检查数组中是否存在字符串?

时间:2015-03-02 16:42:06

标签: javascript arrays string find

我发现这些方法,indexOf()显然不适用于Internet Explorer 8

有很多选择,我想知道哪一个类似于事实,或者我应该选择使用什么来获得最佳效果。

另外,如果结果为undefined,我如何将其用作值,我只是将其用作字符串,如" undefined"还是空的?

array.find() 
array.findIndex()
array.indexOf("string");

在这个知道索引的数组中替换字符串的例子中,他们使用indexOf,我是否应该关注不兼容性?

var index = items.indexOf(3452);

if (index !== -1) {
    items[index] = 1010;
}

1 个答案:

答案 0 :(得分:0)

将polyfill用于这些类型的东西是完全可以接受的:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Polyfill

if (!Array.prototype.indexOf) {
    // paste polyfill here
}

您还可以使用不同库提供的方法:

// jQuery
if ($.inArray("some_value", someArray) > -1) { ... }

// Underscore
if (_.contains(someArray, "some_value")) { ... }