【发布时间】:2017-09-17 05:27:12
【问题描述】:
我们有 id 列表,即 1、2、3。
有一个函数接受 id 并返回如果传递的 id 是否在此列表中:
function isIdInList(id) {
return [1,2,3].includes(id);
}
或
function isIdInList(id) {
return [1,2,3].indexOf(id) > -1;
}
即isIdInList(1) 返回真。 isIdInList(5) 返回 false。
什么是最好的解决方案,以上两个之一或任何其他? (考虑到列表是硬编码的,并且该解决方案应该与所有浏览器兼容。)
【问题讨论】:
-
includes不受 ie 或 edge 支持,这就是我选择indexOf的原因。 -
这取决于检查的频率以及数组的大小。
-
它的数组很小,即20个元素,但经常被检查
-
Edge 支持
includes就好了。
标签: javascript