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

如何正确使用forEach遍历对象数组生成带!的用户名数组?

修复forEach遍历对象数组的语法错误,实现用户名加"!"的需求

你这段代码的问题出在forEach的回调函数语法写错了,咱们一步步来修正:

首先,forEach的正确用法是给它传一个回调函数,这个函数会接收当前遍历到的数组元素、索引(可选)、原数组(可选)作为参数,而不是直接写array[i].username当参数。你原来的代码里箭头函数的写法也有语法错误,括号位置不对。

正确的forEach写法

const array = [
 { username: "john", team: "red", score: 5, items: ["ball", "book", "pen"] },
 { username: "becky", team: "blue", score: 10, items: ["tape", "backpack", "pen"] },
 { username: "susy", team: "red", score: 55, items: ["ball", "eraser", "pen"] },
 { username: "tyson", team: "green", score: 1, items: ["book", "pen"] },
];

const double = [];
// 这里的item就是当前遍历到的每个对象,参数名可以自己取(比如user也可以)
array.forEach((item) => {
  double.push(item.username + "!");
});
console.log(double); // 输出: ["john!", "becky!", "susy!", "tyson!"]

简单说,forEach会挨个遍历数组里的每个对象,每次遍历都把当前对象交给item,我们直接通过item.username就能拿到用户名,拼接"!"后放进目标数组就行。

额外推荐:用map更高效

其实如果你的需求是根据原数组生成一个新数组,用map方法会更简洁,不需要提前声明空数组:

const newArray = array.map(item => item.username + "!");
console.log(newArray); // 同样得到 ["john!", "becky!", "susy!", "tyson!"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:27:12