使用 JavaScript 检查值是否不在数组中

检查值是否不在数组中

Check if a Value is NOT in an Array using JavaScript

要检查值是否不在数组中,请使用逻辑 NOT (!) 运算符来否定对该includes()方法的调用,例如!arr.includes(myVar). true如果该值不包含在数组中,
false否则表达式将返回。

索引.js
const arr = ['a', 'b', 'c']; if (!arr.includes('z')) { console.log('✅ value is not in array'); } else { console.log('⛔️ value is in array'); }

我们使用
逻辑 NOT (!)
运算符来否定对
Array.includes
方法的调用,以检查特定值是否不包含在数组中。

includes 方法将值作为参数,如果该值包含在数组中则返回。 true

由于我们要检查该值是否不包含在数组中,因此我们必须否定(!)结果。

下面是一些使用逻辑 NOT (!) 运算符的示例。

索引.js
console.log(!true); // 👉️ false console.log(!false); // 👉️ true console.log(!'hello'); // 👉️ false console.log(!''); // 👉️ true console.log(!null); // 👉️ true

你可以想象,逻辑 NOT (!) 运算符首先将值转换为 a
boolean,然后翻转值。

当您否定一个虚假值时,运算符返回true,在所有其他情况下它返回false

Falsy 值为:nullundefined、空字符串NaN0false

includes()Internet Explorer 不支持该方法。如果您必须支持浏览器,请改用该indexOf方法。

另一种方法是使用
Array.indexOf
方法。

使用 indexOf 检查值是否不在数组中

要检查值是否不在数组中,请使用indexOf()方法,例如
arr.indexOf(myVar) === -1如果该indexOf方法返回-1,则该值不包含在数组中。

索引.js
// Supported in IE const arr = ['a', 'b', 'c']; if (arr.indexOf('z') === -1) { console.log('✅ value is not in array'); } else { console.log('⛔️ value is in array'); }
indexOf方法返回数组中某个值第一次出现的索引,或者-1如果该值不包含在数组中。

我们的if语句检查方法是否返回-1,如果返回,我们可以得出结论,该值不在数组中。