Array.prototype.some 不使用三元运算符

Array.prototype.some not working with ternary operator

为什么以下两个代码段 return 不是相同的值?

[1,2,3,4].some((el) => {
    if (el === 4) {
        return true;
    }
    else {
        return false;
    }
});

--> return为真

[1,2,3,4].some((el) => {
    el === 4 ? true : false;
});

--> returns false

您在第二个版本中没有 return,因此 return 未定义。

您需要的是:

[1,2,3,4].some((el) => {
    return el === 4 ? true : false;
});

...或者你需要拿掉牙套:

[1,2,3,4].some(el => el === 4 ? true : false);

试试这个。您缺少 return

var x=[1,2,3,4].some((el) => {
     return el === 4 ? true : false;
});
console.log(x);
//Or you can do this
var y=[1,2,3,4].some(el => el === 4);
console.log(y);