javascript - 有没有一种快速方法可以同时测试两个以上值的相等性?

标签 javascript

我想知道是否有一种快速方法可以在js中测试两个以上值的相等性。类似于 (= 6 6 6) 的东西。

在控制台中,我尝试了诸如...之类的事情

1 == 1 == 1 == 1
true
2 == 2 == 2 == 2
false
0 == 0 == 0
false
0 == 0 == 0 == 0
true

...这很有趣,但也令人困惑。

有没有一种快速的方法可以在js中做到这一点?

谢谢。

最佳答案

你得到意外行为的原因是因为我们需要稍微调整一下你对 js 的期望;) 2 == 2 == 2 == 2 进行了 3 次比较,全部从左到右。第一个比较是最左边的 2 == 2,其计算结果为 true。之后,我们得到了与(本例中的)第三个 2 进行比较的第一次比较的结果。即,true === 2,这是错误的。最后,我们得到 false === 2,这也是 false。

将其可视化可能会有所帮助:

(((2==2)==2)==2)

我认为一般来说 a === b && b === c 可能就是您正在寻找的内容。

编辑:啊,抱歉,我一直将 == 切换为 ===。这只是习惯而已。这是我推荐的习惯。 === 运算符不进行类型转换,因此它计算的是正确的值,而不是该值的转换版本。

关于javascript - 有没有一种快速方法可以同时测试两个以上值的相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133655/

相关文章:

javascript - 我的 html/javascript/css 网站在 IE 中有效,但在 FF 中无效

javascript - jQuery/JS无限定时循环

javascript - 如何在jstree中单击/展开时获取所有父节点数据

javascript - Nextjs useEffect 和 useState Hook 不适用于生产

javascript - 使用 Javascript/jQuery 基于其长度的警报类

javascript - 是否有用于上下文感知弹出窗口的 JavaScript 框架?

javascript - 如何更新子组件的状态以独立拖动它们

javascript - 以下是 Div 的属性还是属性?

javascript - 对默认变量使用解构赋值和其余语法

javascript - 使用 jQuery 或 JavaScript 从 anchor 的 href 中提取 javascript