https://caniuse.com/#search=find声明IE11不支持find()方法。
同时,我正在IE11中测试这个find()方法,没有发现任何错误行为的痕迹。
我还在IE11中测试了代码
function isPrime(element, index, array) {
var start = 2;
while (start <= Math.sqrt(element)) {
if (element % start++ < 1) return false;
}
return (element > 1);
}
console.log([4, 5, 8, 12].find(isPrime)); // 5
来自SO: Array.prototype.find() is undefined
是的,在IE11中,它返回预期的结果5,而不是TypeError:未定义不是一个函数,正如SO: Array.prototype.find() is undefined在2014年指出的那样。
所以..。我是不是漏掉了什么,IE11真的没有在Array.prototype.find上正常工作,或者最近一次更新IE11是为了支持这个方法,而这些更新是在一段时间之前(但晚于2014年讨论过的SO问题)?
当说https://caniuse.com/#search=find不支持Array.prototype.find时,IE11是正确的吗?有证据吗?
谢谢。
UPD:这是我的IE11的屏幕:

发布于 2019-03-13 09:39:01
你所读的一切都是正确的。你的测试有缺陷。也许您包括了一个在IE11中添加了该方法的Polyfill。

发布于 2019-03-13 09:53:01
您可以尝试以下步骤来验证:
[1,2,3].find(function(n) { !!n; })
我得到的是:

https://stackoverflow.com/questions/55138469
复制相似问题