如何遍历数组返回每个元素的模板字面量?温度统计语句实现求助
数组遍历与模板字面量生成解决方案
原代码问题分析
你写的代码存在两个关键问题:
- 循环内直接用
return会立刻终止循环,只能获取第一个元素的结果,无法完成全数组遍历; weather.findIndex(i)用法错误,findIndex需要传入回调函数,且你需要的天数是索引+1(从1天开始计数),而非直接使用索引值。
正确实现方法
方法1:用Array.map()生成模板字符串数组(推荐)
map方法天生适合遍历数组并返回每个元素对应的转换结果,代码简洁易读:
let weather = [0,5,10,15,20,25,30]; // 生成每个温度对应的模板字符串 const tempStatements = weather.map((temp, index) => `${temp}度在${index + 1}天`); // 若需要连成完整语句,用join拼接 const fullStatement = tempStatements.join(','); console.log(fullStatement); // 输出:0度在1天,5度在2天,10度在3天,15度在4天,20度在5天,25度在6天,30度在7天
如果只需要每个元素的模板字面量数组,直接使用tempStatements即可。
方法2:用for循环手动收集结果
如果你更习惯传统for循环写法,可以初始化空数组存储结果:
let weather = [0,5,10,15,20,25,30]; const tempStatements = []; for (let i = 0; i < weather.length; i++) { tempStatements.push(`${weather[i]}度在${i + 1}天`); } const fullStatement = tempStatements.join(','); console.log(fullStatement);
内容的提问来源于stack exchange,提问作者user12253868
相关产品推荐
相关产品推荐

