为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 检查迭代器是否包含值

JavaScript 检查迭代器是否包含值

收到一只叮咚 2023-04-01 17:24:10
对于 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镜像ArrayAPI 的方法。

1:从技术上讲,includes使用SameValueZero comparison=== ,其结果与of 的value结果不同NaN


查看完整回答
反对 回复 2023-04-01
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信