检查值是否不在数组中
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 值为:null
、undefined
、空字符串NaN
、0
和false
。
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
,如果返回,我们可以得出结论,该值不在数组中。