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

请求讲解array.forEach()方法及数组元素首字母大写代码逻辑

详解array.forEach()及代码核心语句工作机制

一、meals.forEach()方法的工作原理

forEach()是JavaScript数组的内置迭代方法,核心作用就是按顺序遍历数组的每一个元素,并对每个元素执行你传入的回调函数。

  • 代码里的meals.forEach(capitalize):会把meals数组中的每一项,依次传入capitalize函数进行处理。遍历顺序是从索引0到最后一个元素,也就是先处理"rice",再处理"meat",最后处理"salad"。
  • 代码里的meals.forEach(print):同理,把修改后的数组每一项传入print函数,执行打印操作。

另外,forEach()会自动给回调函数传递三个参数:

  1. element:当前正在遍历的数组元素值
  2. index:当前元素在数组中的索引位置(从0开始计数)
  3. array:调用forEach()的原数组本身(这里就是meals)

你可以根据需求选择使用这些参数,比如print函数只用到了element,而capitalize函数三个参数都用到了。

二、array[index] = element[0].toUpperCase() + element.substring(1);的执行逻辑

这行代码的作用是把当前数组元素的首字母转为大写,其余字母保持原样,然后替换原数组中的对应元素,拆解来看:

  • element[0]:获取当前元素的第一个字符,比如遍历到"rice"时,取到的是"r"
  • .toUpperCase():将这个首字符转为大写,"r"就变成了"R"
  • element.substring(1):从元素的索引1位置开始,截取到字符串末尾的部分,"rice"截取后得到"ice"
  • 拼接两部分:把大写的首字符和截取后的字符串拼接,得到"Rice"
  • array[index] = ...:将拼接好的新字符串,赋值给原数组对应索引位置的元素,这样原数组meals中索引0的"rice"就被替换成了"Rice"

整个代码的执行流程:

  1. 先通过meals.forEach(capitalize)遍历数组,把所有元素都改成首字母大写的形式,此时meals数组变成["Rice", "Meat", "Salad"]
  2. 再通过meals.forEach(print)遍历修改后的数组,依次打印每个元素,控制台最终输出:
Rice
Meat
Salad

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:05:34