Array.prototype.some不使用三元运算符[重复]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

为什么以下两个片段不会返回相同的值?

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

- >返回true

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

- >返回false

javascript arrays ecmascript-6 ternary
2个回答
2
投票

试试这个。你缺少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);

0
投票

你在第二个版本中没有返回,所以它返回undefined。

你需要的是:

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

......或者你需要带走牙箍:

[1,2,3,4].some(el => el === 4 ? true : false);
© www.soinside.com 2019 - 2024. All rights reserved.