在 JavaScript 中,如何以简单的方式检查 "a" 与 "b," "c," 等?
In JavaScript, how do you check "a" against "b," "c," etc. in a simple manner?
目前,我所知道的唯一方法就是编写以下内容:
var a = 3, b = 5, c = 3;
if (a === b && a === c) {
// code
}
或者使用三元运算符:
(a === b && a === c) ? /* code */ : /* else */
有没有办法根据 b
和 c
检查 a
?可能是这样的:
if (a === (b && c)) {
// code
}
显然这没有按预期工作,这就是我问这个问题的原因。感谢您的帮助。
这 不是 其他 2 个的副本 - 这两个使用 OR 运算符。我问的是 AND 运算符。
很遗憾没有。那就是你所拥有的。除非你把它转换成数组并用循环测试。
对于这样一个简单的案例?当然不。但是,如果您构建数组,可以使用一些方便的小技巧。例如:
var my_array = [3, 5, 3];
if(my_array.every(function(el) {return el == my_array[0];})) {
// code
}
如果 a、b 和 c 都是数字,那么您可以做简单的数学运算来检查 b 和 c 与 a 的奇偶性。
只需将 b 和 c 相加,除以 2 得到平均值,然后用它与 a 进行比较。
var a = 3, b = 5, c = 3;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "no"
var a = 3, b = 3, c = 3;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "yes"
var a = 3, b = 4, c = 2;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "yes"
目前,我所知道的唯一方法就是编写以下内容:
var a = 3, b = 5, c = 3;
if (a === b && a === c) {
// code
}
或者使用三元运算符:
(a === b && a === c) ? /* code */ : /* else */
有没有办法根据 b
和 c
检查 a
?可能是这样的:
if (a === (b && c)) {
// code
}
显然这没有按预期工作,这就是我问这个问题的原因。感谢您的帮助。
这 不是 其他 2 个的副本 - 这两个使用 OR 运算符。我问的是 AND 运算符。
很遗憾没有。那就是你所拥有的。除非你把它转换成数组并用循环测试。
对于这样一个简单的案例?当然不。但是,如果您构建数组,可以使用一些方便的小技巧。例如:
var my_array = [3, 5, 3];
if(my_array.every(function(el) {return el == my_array[0];})) {
// code
}
如果 a、b 和 c 都是数字,那么您可以做简单的数学运算来检查 b 和 c 与 a 的奇偶性。
只需将 b 和 c 相加,除以 2 得到平均值,然后用它与 a 进行比较。
var a = 3, b = 5, c = 3;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "no"
var a = 3, b = 3, c = 3;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "yes"
var a = 3, b = 4, c = 2;
a === (b + c)/2
? console.log('yes')
: console.log('no')
// console gives "yes"