我发现这些方法,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;
}
答案 0 :(得分:0)
将polyfill用于这些类型的东西是完全可以接受的:
if (!Array.prototype.indexOf) {
// paste polyfill here
}
您还可以使用不同库提供的方法:
// jQuery
if ($.inArray("some_value", someArray) > -1) { ... }
// Underscore
if (_.contains(someArray, "some_value")) { ... }