检查变量是否等于 JavaScript 中的多个值

目录

Check if Variable is equal to Multiple Values in JavaScript

  1. 检查变量是否等于多个值的所有
  2. 检查变量是否等于多个值之一
  3. 检查变量是否不等于 JavaScript 中的多个值

检查一个变量是否等于 JS 中的多个值

检查变量是否等于所有多个值:

  1. 将值包装在数组中并使用该every()方法遍历数组。
  2. 检查每个值是否等于变量。
  3. 如果变量等于所有值,every方法将返回。true
索引.js
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

可以使用相同的方法来比较多个值。

索引.js
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,则所有值都等于变量。

索引.js
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 中的多个值之一

检查变量是否等于多个值之一:

  1. 将值包装在一个数组中。
  2. 调用includes()数组上的方法。
  3. 如果该值包含在数组中,includes方法将返回。true
索引.js
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对象只存储唯一值,因此传递给构造函数的任何重复值都会自动删除。

索引.js
const set1 = new Set(['a', 'a', 'a']); console.log(set1); // 👉️ {'a'}

我们可以将值传递给Set()构造函数,如果 的大小Set
等于
1,则所有传入的值都相等。

索引.js
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

这是一个三步过程:

  1. 将值包装在一个数组中。
  2. 调用indexOf()数组上的方法。
  3. 如果该方法不返回-1,则该变量等于其中一个值。
索引.js
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 中的多个值

检查变量是否不等于多个值:

  1. 使用严格的不等式 (!==) 运算符检查变量是否不等于值。
  2. 使用逻辑 AND (&&) 运算符链接多个条件。
  3. 如果所有条件都通过,则变量不等于任何值。
索引.js
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不等于变量bc

运算符返回布尔结果:

  • true如果值不相等
  • false如果值相等

我们使用
逻辑与 (&&)
运算符来链接这两个条件。

if块只有在满足两个条件时才会运行。

运算&&符从左到右计算。如果我们语句中的第一个条件if返回false,则运算符短路并且不评估第二个条件。

如果a !== b条件的一部分返回false,则a !== c根本不评估该部分。

例如,在以下if语句中,10 > 1永远不会评估条件。

索引.js
if (5 > 50 && 10 > 1) { }

我们首先检查是否5 > 50并获得 的值false,因此&&运算符短路。

您还可以使用该Array.includes()方法检查变量是否不等于多个值。

检查变量是否不等于多个值使用includes()

这是一个三步过程:

  1. 将值包装在一个数组中。
  2. 使用Array.includes()方法检查变量是否不包含在数组中。
  3. true如果变量不等于任何值,该方法将返回。
索引.js
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'); }

我们将bc变量包装到一个数组中,并使用该
Array.includes()方法检查a变量是否包含在数组中。

Array.includes()方法接受一个值,true如果该值包含在数组中则返回,false否则返回。

索引.js
console.log([b, c].includes(a)); // 👉️ false console.log(![b, c].includes(a)); // 👉️ true

我们使用逻辑 NOT (!) 运算符来否定对该includes()
方法的调用。

当与布尔值一起使用时,如示例中所示,运算符翻转值,例如true变为false,反之亦然。

索引.js
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:

  1. Wrap the values in an array.
  2. Use the Array.every() method to iterate over the array.
  3. Check if each value is not equal to the variable and return the result.
index.js
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返回。