我正在寻找数组的find()
方法的替代方法。我在Android浏览器上使用它,而Array.prototype.find()
在那里不起作用。 Definition Array Support
var test= this.arrayOfValues.find(function (value) {
return (value.name === device.value)
});
答案 0 :(得分:1)
如果您对自己的编程不太在意,并且indexOf
在某种程度上无法使用,请查看Underscore.js#find
。作为替代方案,正如@NinaScholz在评论中建议的那样,使用Polyfill from mozilla.org:
if (!Array.prototype.find) { Array.prototype.find = function(predicate) { if (this === null) { throw new TypeError('Array.prototype.find called on null or undefined'); } if (typeof predicate !== 'function') { throw new TypeError('predicate must be a function'); } var list = Object(this); var length = list.length >>> 0; var thisArg = arguments[1]; var value; for (var i = 0; i < length; i++) { value = list[i]; if (predicate.call(thisArg, value, i, list)) { return value; } } return undefined; }; }