这是.indexOf的正确实现吗?使用Javascript

时间:2016-02-11 20:28:36

标签: javascript indexof

我已经测试了-2.1411372887 的实现,它似乎适用于我的测试用例,但我已经看到了其他解决方案,它们在if条件.indexOf中添加。第二个条件的目的是什么?这是我的版本:

array[i] === elem && notFound === -1

2 个答案:

答案 0 :(得分:0)

您的实施对我来说似乎很好。

我怀疑额外检查是在找到匹配时不会脱离循环的函数版本。当它找到匹配时,它会设置notFound = i;,并保持循环(不必要);循环完成后,返回notFound。测试notFound === -1是否阻止它在找到第二个匹配项时更新变量。

如果不是这样,那么如果您实际发布了一个使用您显示的检查的实施示例,那将会有所帮助。这可能只是一个错误 - 只是因为你在互联网上找到了代码,它并不意味着它是正确的。

答案 1 :(得分:-1)

请查看以下polyfill(from mdn):

const &