【发布时间】:2022-01-16 09:16:15
【问题描述】:
我将附上挑战解决方案的图片,我无法理解这个解决方案而不是挑战本身
代码:
function array(num,length){
return [...Array(length).map((_,i) => num * (i+1)
}
【问题讨论】:
标签: javascript arrays ecmascript-6
我将附上挑战解决方案的图片,我无法理解这个解决方案而不是挑战本身
代码:
function array(num,length){
return [...Array(length).map((_,i) => num * (i+1)
}
【问题讨论】:
标签: javascript arrays ecmascript-6
首先语法有问题:缺少] 和)。
有一个函数叫做“array”(也许它不是最好的名字……)。它有两个参数:一个数字(num)和一个长度(length),都是数字。
length 用于定义和数组(Array(length))。所以 length=4 将产生一个数组:[undefined,undefined,undefined,undefined]。 map() 是一个函数,它接受一个数组并返回一个具有相似长度的数组。 map() 返回的数组包含基于索引(i)和参数num 计算的数字,因此首先是0*3,然后是1*3,然后是2*3。然后数组作为调用函数“array”的“结果”返回。
这里我在控制台打印出数组:
function array(num, length){
return [...Array(length)].map((_,i) => num * (i+1))
}
console.log(array(3, 4));
【讨论】: