gpt4 book ai didi

JavaScript 检查迭代器是否包含值

转载 作者:行者123 更新时间:2023-12-05 00:37:25 26 4
gpt4 key购买 nike

对于 JavaScript 数组,includes(value)当且仅当数组包含该值时,函数才返回 true。
什么是检查值是否包含在 iterator 中的良好和高性能等效项? (例如 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)

最佳答案

你的第二种方法看起来不错。当然,您需要将辅助函数存放在某个地方,但您只需要声明一次,所以没关系 - 调用简短高效(甚至比您的第一种方法更短)。
或者,使用 proposed iterator helpers并检查 it.some(v => v === value) 1. 他们不提供 includes反射(reflect) Array 的方法API呢。
1:技术上,includes使用 SameValueZero comparison ,其结果与 === 不同对于 valueNaN .

关于JavaScript 检查迭代器是否包含值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64093419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com