【发布时间】:2015-08-08 07:19:49
【问题描述】:
我查了一下,发现这是关于在数组中的较大字符串中查找子字符串的。 Array.Prototype.includes
if (t.title.includes(searchString))
我的t 是$.each 的一部分,该$.each 正在迭代更大的对象数组(每个对象都有大量的信息,来自字符串、日期等)。 searchString 是用户在框中输入的任何内容。所有这些都是对我在页面上的列表的简单搜索功能。
这在 Chrome 中运行良好。但是 Firefox 和 IE 出现错误说明
TypeError: currentTicket.title.includes is not a function
所以我要么设置一个警告标志,表明我的应用只能在 Chrome 上运行,要么我手工制作了一个查找功能?奇怪的是我发布的 MDN 的文档页面指出只有 Firefox 支持array.includes,奇怪的是只有 Chrome 运行它。
【问题讨论】:
-
所以基本上这个功能在任何浏览器中都不起作用,除了可能最新版本的 Chrome 和 Firefox,您想知道为什么它不起作用?顺便说一句,这个函数应该很容易填充,它就在你发布的链接中。
-
我投票决定将此问题作为题外话结束,因为解决方案已发布在问题中!
-
顺便说一句,您使用的不是
Array.prototype.includes,而是String.prototype.includes。你也可以使用常见的indexOf方法来做这种事情。 -
试过使用
Array.prototype.some? -
@adeneo 这不是非黑即白。我刚刚为我的问题添加了相关文档,但我不太清楚这意味着什么。我不确定 polyfil 是什么或如何使用它(请参阅我对另一个答案的评论)。至于使用 indexof,我在 Firefox 和 IE 中遇到了同样的错误
标签: javascript arrays ecmascript-5 ecmascript-2016