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

如何在for...of循环中替换数组元素并生成新数组

解决数组元素替换并通过for...of循环生成新数组的问题

直接上可运行的代码,完全符合你的要求:

const arr = [1, 2, "a", 4, 5];
const result = [];

for(let elem of arr) {
  // 遇到字符串类型的元素(这里就是"a")就替换成3,否则直接用原元素
  const pushItem = typeof elem === "string" ? 3 : elem;
  result.push(pushItem);
}

console.log(result); // 输出 [1, 2, 3, 4, 5]
console.log(arr); // 原数组不变,输出 [1, 2, "a", 4, 5]

补充说明:

  • 用const声明原数组arr,从语法层面保证它不会被重新赋值,彻底避免修改原数组
  • 遍历过程中操作的是每个元素的副本,不是原数组的元素本身,所以不会影响原数组
  • 如果只想精准替换字符串"a"而不是所有字符串,可以把判断条件改成elem === "a",这样更严谨:
    const pushItem = elem === "a" ? 3 : elem;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:52:04