目录
Check if Variable is equal to Multiple Values in JavaScript
检查一个变量是否等于 JS 中的多个值
检查变量是否等于所有多个值:
- 将值包装在数组中并使用该
every()
方法遍历数组。 - 检查每个值是否等于变量。
- 如果变量等于所有值,该
every
方法将返回。true
const str = 'hello world'; const val1 = 'hello world'; const val2 = 'hello world'; const val3 = 'hello world'; const result = [val1, val2, val3].every(value => { return value === str; }); console.log(result); // 👉️ true
可以使用相同的方法来比较多个值。
const value1 = 10; const value2 = 10; const value3 = 10; const arr = [value1, value2, value3]; const areEqual = arr.every(element => { return element === arr[0]; }); console.log(areEqual); // 👉️ true
我们传递给Array.every方法的函数
会针对数组中的每个元素进行调用,直到它返回一个虚假值或遍历整个数组。
我们将每个值与变量进行比较并返回结果。
every()
方法会短路并返回false
,否则返回true
。使用 && 运算符检查变量是否等于所有多个值
另一种方法是使用逻辑与 (&&) 运算符。
如果所有比较都返回true
,则所有值都等于变量。
const str = 'hello world'; const val1 = 'hello world'; const val2 = 'hello world'; const val3 = 'hello world'; if (str === val1 && str === val2 && str === val3) { // 👇️ this runs console.log('✅ variable is equal to all of the values'); } else { console.log('⛔️ variable is not equal to all of the values'); }
我们使用
逻辑与 (&&)
运算符来链接多个相等性检查。
所有相等性检查都必须返回true
才能if
运行块。
检查一个变量是否等于 JS 中的多个值之一
检查变量是否等于多个值之一:
- 将值包装在一个数组中。
- 调用
includes()
数组上的方法。 - 如果该值包含在数组中,该
includes
方法将返回。true
const str = 'hello world'; const val1 = 'hello world'; const val2 = 'bye world'; const val3 = 'test world'; if ([val1, val2, val3].includes(str)) { console.log('✅ variable is equal to at least 1 of the values'); } else { console.log('⛔️ variable is not equal to any of the values'); }
我们使用
Array.includes()方法来检查值是否包含在值数组中。
true
如果该值包含在数组中,则该方法返回,false
否则返回。
Set
使用对象检查三个值是否相等
如果需要检查三个值是否相等,也可以将值传递给Set()构造函数。
Set
对象只存储唯一值,因此传递给构造函数的任何重复值都会自动删除。
const set1 = new Set(['a', 'a', 'a']); console.log(set1); // 👉️ {'a'}
我们可以将值传递给Set()
构造函数,如果 的大小Set
等于1
,则所有传入的值都相等。
const val1 = 'apple'; const val2 = 'apple'; const val3 = 'apple'; if (new Set([val1, val2, val3]).size === 1) { console.log('✅ The 3 values are equal'); } else { console.log('⛔️ The values are NOT equal'); }
该Set
对象不包含重复值,因此在初始化Set
.
如果 newSet
包含单个元素,则所有传入的值都相等。
检查变量是否等于多个值之一indexOf
这是一个三步过程:
- 将值包装在一个数组中。
- 调用
indexOf()
数组上的方法。 - 如果该方法不返回
-1
,则该变量等于其中一个值。
const str = 'hello world'; const val1 = 'hello world'; const val2 = 'bye world'; const val3 = 'test world'; if ([val1, val2, val3].indexOf(str) !== -1) { // 👇️ this runs console.log('✅ variable is equal to at least 1 of the values'); } else { console.log('⛔️ variable is not equal to any of the values'); }
我们使用Array.indexOf
方法来检查值是否包含在值数组中。
-1
如果值不包含在数组中。该if
语句检查方法的返回值indexOf
是否不等于-1
。
如果满足条件,则变量等于至少 1 个值。
检查变量是否不等于 JavaScript 中的多个值
检查变量是否不等于多个值:
- 使用严格的不等式 (!==) 运算符检查变量是否不等于值。
- 使用逻辑 AND (&&) 运算符链接多个条件。
- 如果所有条件都通过,则变量不等于任何值。
const a = 'one'; const b = 'two'; const c = 'three'; if (a !== b && a !== c) { // 👇️ this runs console.log('✅ a is not equal to b and c'); } else { console.log('⛔️ a is equal to b or c, or both'); } // ✅ Check if variable is not equal to multiple values (every()) const notEqual = [b, c].every(value => value !== a); console.log(notEqual); // 👉️ true
我们使用
严格的不等式 (!==)
运算符来检查变量是否a
不等于变量b
和c
。
运算符返回布尔结果:
true
如果值不相等false
如果值相等
我们使用
逻辑与 (&&)
运算符来链接这两个条件。
该if
块只有在满足两个条件时才会运行。
&&
符从左到右计算。如果我们语句中的第一个条件if
返回false
,则运算符短路并且不评估第二个条件。如果a !== b
条件的一部分返回false
,则a !== c
根本不评估该部分。
例如,在以下if
语句中,10 > 1
永远不会评估条件。
if (5 > 50 && 10 > 1) { }
我们首先检查是否5 > 50
并获得 的值false
,因此&&
运算符短路。
您还可以使用该Array.includes()
方法检查变量是否不等于多个值。
检查变量是否不等于多个值使用includes()
这是一个三步过程:
- 将值包装在一个数组中。
- 使用
Array.includes()
方法检查变量是否不包含在数组中。 true
如果变量不等于任何值,该方法将返回。
const a = 'one'; const b = 'two'; const c = 'three'; const notEqual = ![b, c].includes(a); console.log(notEqual); // 👉️ true if (a !== b && a !== c) { // 👇️ this runs console.log('a is not equal to b and c'); } else { console.log('a is equal to b or c, or both'); }
我们将b
和c
变量包装到一个数组中,并使用该
Array.includes()
方法检查a
变量是否包含在数组中。
该Array.includes()
方法接受一个值,true
如果该值包含在数组中则返回,false
否则返回。
console.log([b, c].includes(a)); // 👉️ false console.log(![b, c].includes(a)); // 👉️ true
我们使用逻辑 NOT (!) 运算符来否定对该includes()
方法的调用。
当与布尔值一起使用时,如示例中所示,运算符翻转值,例如true
变为false
,反之亦然。
console.log(!true); // 👉️ false console.log(!false); // 👉️ true
The expression returns true
if the variable doesn’t equal the values and
false
otherwise.
You can also use the Array.every()
method to check if a variable does not
equal multiple values.
# Check if Variable Doesn’t Equal Multiple Values using every()
This is a three-step process:
- Wrap the values in an array.
- Use the
Array.every()
method to iterate over the array. - Check if each value is not equal to the variable and return the result.
const a = 'one'; const b = 'two'; const c = 'three'; const notEqual = [b, c].every(value => value !== a); console.log(notEqual); // 👉️ true if (a !== b && a !== c) { // 👇️ this runs console.log('a is not equal to b and c'); } else { console.log('a is equal to b or c, or both'); }
We wrapped the b
and c
variables into an array.
The function we passed to the Array.every()
method gets called with each
element in the array.
On each iteration, we check if the current value is not equal to the a
variable and return the result.
该every()
方法检查是否满足所有数组元素的条件。
如果是,则该方法返回true
,否则false
返回。