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

如何将reduce每轮迭代的结果存入数组并输出完整数组

问题原因
  • reduce回调里只打印了中间乘积结果,没有存入结果数组,最终reduce返回的是最终累乘值(81),而非数组
  • 你定义的result数组全程没有写入操作,最后遍历空数组往已经变成数字的arr里塞值的逻辑完全无效
  • 直接在reduce中打印值会逐行输出,不符合返回数组后空格拼接的输出要求
修正后代码
function modify(arr) {
  const result = [];
  // 先过滤所有偶数
  const filteredArr = arr.filter(item => item % 2 !== 0);
  // 累计乘积同时存储中间结果
  filteredArr.reduce((acc, cur) => {
    const product = acc * cur;
    result.push(product);
    return product;
  }, 1);
  return result;
}

// 输出时用空格拼接数组元素即可得到要求格式
console.log(modify([3,3,9]).join(' '));
运行验证

输入[3,3,9]时,输出为3 9 81,和期望结果完全一致。

内容的提问来源于stack exchange,提问作者Илья Калошин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:27:00