这是代码:
const str = "asdfcvb";
const result = str.split("").every((e) => {
return e==='a'||'b'});
console.log(result);
我期望 str.split("") 返回一个数组,并且每个方法都会检查数组中的每个元素是否等于“a”或“b”,这应该返回 false,但它返回 true
最佳答案
因为
e==='a'||'b'
表示 ((e==='a')||'b')
当e !== 'a'
情况下,它将返回'b'
,这在Javascript中是真实的,所以every
方法从每一项中获得真值,然后结果将为真。
您可以使用以下方法来实现您想要的
const result = str.split("").every((e) => {
return (e==='a') || (e==='b')
});
关于javascript - 为什么这段代码返回 true 而不是 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70648501/