srb*_*633 4 javascript node.js
includes()我注意到当尝试在这样的函数中使用 OR 运算符时
x.includes("dogs"||"cats"||"birds"||"fish"||"frogs")
Run Code Online (Sandbox Code Playgroud)
它只会尝试包含的第一个字符串,而不会进一步尝试。我怀疑我要么在这里遗漏了一些明显的东西,要么includes()不是用于这种情况的正确函数。
目标是尝试多个字符串以确定它们是否是 x 的子字符串。因为我正在尝试使用 or 运算符,所以我的目的是不接收每个试验字符串的布尔值数组,而是如果有任何一个为 true,则需要一个 true 布尔值,否则需要 false。
运算符||不是分布式的。函数参数简单地计算为表达式,因此您的调用相当于:
var temp = "dogs"||"cats"||"birds"||"fish"||"frogs";
x.includes(temp)
Run Code Online (Sandbox Code Playgroud)
一系列||操作的值是该系列中的第一个真值。由于所有非空字符串都是真值,因此相当于:
var temp = "dogs";
x.includes(temp)
Run Code Online (Sandbox Code Playgroud)
您需要使用每个字符串||的调用结果:includes
x.includes("dogs") || x.includes("cats") || x.includes("birds") ...
Run Code Online (Sandbox Code Playgroud)
您可以使用some()数组的方法来简化它:
["dogs","cats","birds","fish","frogs"].some(species => x.includes(species))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |