Yan*_*nic 6 javascript arrays iterator
对于 JavaScript 数组,includes(value)当且仅当数组包含该值时,该函数返回 true。什么是一个好的和高性能的等同于检查,一个值是否包含在迭代器中(例如map.values())?
第一种方法(可能不是性能最好的方法):
Array.from(it).includes(value)
Run Code Online (Sandbox Code Playgroud)
第二种方法(没那么短):
const iteratorIncludes = (it, value) => {
for (x of it) {
if (x === value) return true
}
return false
}
iteratorIncludes(it, value)
Run Code Online (Sandbox Code Playgroud)
你的第二种方法看起来不错。当然,您需要将辅助函数隐藏在某个地方,但您只需要声明一次,所以这并不重要 - 调用简短而高效(甚至比您的第一种方法更短)。
或者,使用建议的迭代器助手并检查it.some(v => v === value)1。他们还没有提供includes反映ArrayAPI 的方法。
1:从技术上讲,includes使用SameValueZero比较===,其结果与a valueof不同NaN。
| 归档时间: |
|
| 查看次数: |
3052 次 |
| 最近记录: |