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

求助:JavaScript makeAlternatingArray函数错误修复

修复makeAlternatingArray函数的循环逻辑问题

你的代码存在两个关键错误:

  1. 循环内直接返回单个元素:第一次循环就执行return array[i],导致函数直接退出,只返回第一个符合条件的元素,无法收集所有交替元素组成数组。
  2. 循环变量递增写法错误:i=+2是把i赋值为2,不是每次循环让i增加2,正确写法应为i += 2。

修复后的代码如下:

function makeAlternatingArray(array) {
    if (array.length <= 1) {
        return array;
    }
    // 创建空数组存储结果
    const result = [];
    for (let i = 0; i < array.length; i += 2) {
        // 将符合条件的元素推入结果数组
        result.push(array[i]);
    }
    // 返回完整的结果数组
    return result;
}

验证示例:

  • makeAlternatingArray(['hey', 'hi']) 返回 ['hey'],符合预期
  • makeAlternatingArray(['a', 'b', 'c', 'd', 'e']) 返回 ['a', 'c', 'e'],符合预期

另外,也可以用数组filter方法更简洁实现,适合刚接触数组方法的学习者参考:

function makeAlternatingArray(array) {
    if (array.length <= 1) {
        return array;
    }
    // 筛选索引为偶数的元素(从0开始)
    return array.filter((_, index) => index % 2 === 0);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:28:10