对于 JavaScript 数组,includes(value)当且仅当数组包含该值时,该函数才返回 true。什么是一个好的和高性能的等价于检查,一个值是否包含在迭代器中(例如map.values())?第一种方法(可能不是最有效的方法):Array.from(it).includes(value)第二种方法(不是那么短):const iteratorIncludes = (it, value) => { for (x of it) { if (x === value) return true } return false}iteratorIncludes(it, value)
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
你的第二种方法看起来不错。当然,您需要将辅助函数隐藏在某个地方,但您只需要声明一次,所以没关系——调用简短而高效(甚至比您的第一种方法更短)。
或者,使用建议的迭代器助手并检查it.some(v => v === value)
1。他们还没有提供includes
镜像Array
API 的方法。
1:从技术上讲,includes
使用SameValueZero comparison===
,其结果与of 的value
结果不同NaN
。
添加回答
举报
0/150
提交
取消