gpt4 book ai didi

javascript - 为什么带有 some 方法的三元运算符会使此语句为假?

转载 作者:行者123 更新时间:2023-12-04 09:56:45 24 4
gpt4 key购买 nike

这里有几个问题。这是来自 Wes Bos 的 30 天 JavaScript 类(class)。

  • 为什么三元运算符(注释掉)使这个错误?
  • 为什么我的解决方案不正确?

  • 挑战
    const people = [
    { name: 'Wes', year: 1988 },
    { name: 'Kait', year: 1986 },
    { name: 'Irv', year: 1970 },
    { name: 'Lux', year: 2015 }
    ];

    // Array.prototype.some() // is at least one person 19 or older?
    // Array.prototype.every() // is everyone 19 or older?

    韦斯的解决方案
    const isOlderThan19 = people.some(function(person) {
    const currentYear = new Date().getFullYear();
    // (currentYear - person.year >= 19) ? true : false
    if (currentYear - person.year >= 19) {
    return true;
    }
    });

    我的解决方案
    const isOlderThan19 = (element) => {
    let age = new Date().getFullYear() - element.year;
    age >= 19;
    }

    console.log(people.some(isOlderThan19));

    我尝试记录设置到控制台的年龄。除了一个人之外,所有人都超过 19 岁,但它返回 false。我试图理解为什么。

    最佳答案

    1- 三元运算符没有 return在它之前,所以函数默认返回 undefined ,这是不希望的。

    2- isOlderThan19没有返回任何东西,你可能错过了 age >= 19 之前的返回词

    由于缺少 return,这两个示例都失败了陈述。

    关于javascript - 为什么带有 some 方法的三元运算符会使此语句为假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61901617/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com