如何在不使用const的情况下实现数组的if不包含判断?
解决数组非const声明下的“不包含”判断问题
数组的声明方式(let/var)完全不影响includes()方法的使用,你不需要把数组改成const也能实现“不包含”的判断逻辑,核心是正确使用逻辑非运算符!来简化判断:
正确写法示例
判断数组不包含"tom"
if (!array.includes("tom")) { // 数组不包含"tom"时执行的代码 }
判断数组包含"tom"
if (array.includes("tom")) { // 数组包含"tom"时执行的代码 }
关于你之前的代码
你写的if (array.includes("tom")!=true)逻辑上是正确的,但用!直接取反更符合JavaScript的编码习惯,代码也更简洁。而array.includes("tom")==true可以直接简化成array.includes("tom"),因为includes()本身返回布尔值,不需要再和true做比较。
另外补充:const声明的数组只是不能被重新赋值(比如不能写array = [1,2,3]),但数组内部的元素依然可以修改(push、splice等操作都没问题)。你说改成const会破坏原有逻辑,应该是因为你的代码里需要对数组变量做重新赋值操作,这种情况下用let声明数组就完全没问题,不会影响includes()的正常使用。
内容的提问来源于stack exchange,提问作者love to code
相关产品推荐
相关产品推荐

