【发布时间】:2021-09-11 02:11:07
【问题描述】:
我想使用一个函数计算某些人的年龄(出生年份存储在一个数组中),然后使用 for 循环中的年龄创建另一个数组,但我一直得到一个空数组。有人可以帮忙吗?
const years = [1991, 1994, 2008, 2020];
const calcAge = function (birthYear) {
return 2021 - birthYear;
};
const age = [];
for (let i = 0; i > years.length; i++) {
calcAge(i);
age.push(i);
}
console.log(age);
【问题讨论】:
-
i > years.length将永远是false。 -
i 从 0 开始,条件是应该大于 4(arr 长度)。这绝不是真的,因此是空数组。
-
您可能还想更改循环中的代码,但是一旦您修复了 for 循环条件,执行 console.log() 就会让您知道问题所在。
-
这个主要问题是复杂性,保持简单...使用
years.map(birthYear => 2021 - birthYear)
标签: javascript arrays function for-loop