for循环只迭代一次



我不知道为什么这段代码没有循环。

它只给了我第一个结果,即1天内17°C。数组中其他的值呢?

const temperatures = [17, 21, 23];
const forcasting = function (arr) {
for (let i = 0; i <= arr.length; i++) {
let forCast = console.log(`${arr[i]}°C in ${i + 1} day.`);
return forCast;
}
};
forcasting(temperatures);

在第一次迭代时返回' forecast ',它将导致函数结束(在任何语言中,不仅仅是js),将返回替换为print()并查看值。

这段代码有一些问题。第一它只循环一次,因为您在第一个循环中使用了return

  • return结束在该函数内运行的代码并返回forCast,使forcasting等于console.log()
  • 的返回值
  • 只知道返回一个循环将结束它第二另外,当最后一个索引实际上是2时,for (let i = 0; i <= arr.length; i++)将尝试访问索引3。所以应该是for (let i = 0; i < arr.length; i++)

在循环结束前使用return。使用以下代码:

const temperatures = [17, 21, 23];
const forcasting = function (arr) {
let forCast = null;
for (let i = 0; i <= arr.length; i++) {
forCast = console.log(`${arr[i]}°C in ${i + 1} day.`);
}
return forCast;
};
forcasting(temperatures);

最新更新