【发布时间】:2021-01-13 12:27:25
【问题描述】:
对于 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)
【问题讨论】:
-
map.has()Map.prototype.has() -
@pilchard,这只会检查地图的键。
-
第二个看起来不错。当然,您需要将辅助函数存放在某个地方,但调用简短而高效。或者,使用proposed iterator helpers 并检查
it.some(v => v === value)。 -
@Bergi 你能回答一下吗?
-
@qwr 完成,见下文
标签: javascript arrays iterator