You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用for循环与if/else语句完成Coding Meetup #9年龄多样性判断

解决方案

实现思路

  • 首先初始化一个包含10个布尔值的数组ageGroups,初始值全部为false,分别对应10个要求的年龄组别:索引0对应青少年(10-19岁)、索引1对应二十余岁(20-29岁)、索引2对应三十余岁(30-39岁)、索引3对应四十余岁(40-49岁)、索引4对应五十余岁(50-59岁)、索引5对应六十余岁(60-69岁)、索引6对应七十余岁(70-79岁)、索引7对应八十余岁(80-89岁)、索引8对应九十余岁(90-99岁)、索引9对应百岁及以上。
  • 用for循环遍历所有报名开发者的年龄,通过if/else判断年龄所属的组别,将对应索引的布尔值改为true。
  • 所有开发者遍历完成后,再用for循环检查ageGroups数组的所有值是否都为true,如果全部为true则返回true,否则返回false。

修改后的代码

function isAgeDiverse(list) {
    // 初始化10个年龄组的存在状态,默认全为false
    const ageGroups = new Array(10).fill(false);
    // 遍历所有开发者
    for (let i = 0; i < list.length; i++) {
        const age = list[i].age;
        // 判断年龄所属组别,标记对应状态为true
        if (age >= 10 && age <= 19) {
            ageGroups[0] = true;
        } else if (age >= 20 && age <= 29) {
            ageGroups[1] = true;
        } else if (age >= 30 && age <= 39) {
            ageGroups[2] = true;
        } else if (age >= 40 && age <= 49) {
            ageGroups[3] = true;
        } else if (age >= 50 && age <= 59) {
            ageGroups[4] = true;
        } else if (age >= 60 && age <= 69) {
            ageGroups[5] = true;
        } else if (age >= 70 && age <= 79) {
            ageGroups[6] = true;
        } else if (age >= 80 && age <= 89) {
            ageGroups[7] = true;
        } else if (age >= 90 && age <= 99) {
            ageGroups[8] = true;
        } else if (age >= 100) {
            ageGroups[9] = true;
        }
    }
    // 检查是否所有年龄组都有开发者
    for (let j = 0; j < ageGroups.length; j++) {
        if (!ageGroups[j]) {
            return false;
        }
    }
    return true;
}

代码说明

你之前的代码逻辑完全不符合需求,错误地判断只要有年龄大于等于18的开发者就返回false,和题目要求的检查全年龄组覆盖的逻辑完全不相关。上述修改后的代码仅使用了要求的for循环和if/else语句实现,没有用到其他高阶数组方法,符合你的要求。针对题目给出的示例输入,该代码会返回true,和预期结果一致。

内容的提问来源于stack exchange,提问作者Minaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:24:02