Javascript如果(x==y==z):

Javascript如果(x==y==z):,javascript,if-statement,equals-operator,Javascript,If Statement,Equals Operator,我有3个随机数(在这个特定的例子中,介于1和7之间,但这并不重要)。 我想检查一下我是否通过使用 if (x==y==z) { code } 问题是当x==y和z==1x==y==z将返回true。如何检查x、y和z是否实际得到相同的值? 示例:5==5==1将返回true,具体如何检查5==5==5?(不包括5==5==1)通过进行适当的比较: x === y && y === z // due to transitivity, if the above expression

我有3个随机数(在这个特定的例子中,介于1和7之间,但这并不重要)。 我想检查一下我是否通过使用

if (x==y==z) {
code
}
问题是当
x==y
z==1
x==y==z
将返回true。如何检查x、y和z是否实际得到相同的值?
示例:
5==5==1
将返回true,具体如何检查
5==5==5
?(不包括
5==5==1

通过进行适当的比较:

x === y && y === z
// due to transitivity, if the above expression is true, x === z must be true as well

x==y==z
实际计算为

(x == y) == z
i、 你要么比较
true==z
要么比较
false==z
,我认为这不是你想要的。此外,它还进行类型转换。举个极端的例子:

[1,2,4] == 42 == "\n" // true
问题是当
x==y
z==1
时,
x==y==z
将返回true


是的,因为
x==y
将是
true
,所以比较
true==1
true
将转换为数字
1
1==1
true

,方法是进行适当的比较:

x === y && y === z
// due to transitivity, if the above expression is true, x === z must be true as well

x==y==z
实际计算为

(x == y) == z
i、 你要么比较
true==z
要么比较
false==z
,我认为这不是你想要的。此外,它还进行类型转换。举个极端的例子:

[1,2,4] == 42 == "\n" // true
问题是当
x==y
z==1
时,
x==y==z
将返回true


是的,因为
x==y
将是
true
,所以比较
true==1
true
将转换为数字
1
1==1
true
,您应使用单独的
和&
操作进行检查

if(x == y && x == z){
   //all are equal
}

您应该使用单独的
&
操作进行检查

if(x == y && x == z){
   //all are equal
}

只需涵盖所有基础:无需检查
x===z
,因为它们都
==y
。感谢您提供了一个非常快速而好的答案。只需涵盖所有基础:无需检查
x==z
,因为它们都
==y
。感谢您提供了一个非常快速而好的答案。这不是python,你不能链接条件句…复制是另一种语言的,但原则适用。如果有人能找到一个更合适的副本,请随意调整。这不是python,你不能链接条件…副本是另一种语言,但原则适用。如果有人能找到更合适的复制品,请随意调整。