if(['a','c'].includes(arr)) { log('123') }else {log'123'} if(['a','c'].includes(arr)) { log('123') }else {log'123'} 为什么只执行了最后一个
时间: 2023-09-10 10:05:25 浏览: 68
if条件满足,代码却不执行
5星 · 资源好评率100%
根据你提供的代码,问题出在条件判断的地方。`includes()`方法的参数是一个单独的元素,而不是一个数组。在你的代码中,`arr`本身就是一个数组,所以条件判断永远不会满足。
如果你想检查数组中是否包含特定元素,你可以使用`indexOf()`方法来判断元素在数组中的位置。如果元素存在于数组中,`indexOf()`方法会返回其索引值(大于等于0),否则返回-1。
下面是修改后的代码示例:
```javascript
if (arr.indexOf('a') !== -1 || arr.indexOf('c') !== -1) {
console.log('123');
} else {
console.log('456');
}
if (arr.indexOf('a') !== -1 || arr.indexOf('c') !== -1) {
console.log('123');
} else {
console.log('456');
}
```
这样修改后,如果`arr`数组中包含'a'或'c',则会执行第一个分支,否则执行第二个分支。
阅读全文