我想得到一个范围号数组,我写了这个函数,
public static getNumberRange(from: number, to: number): number[] {
return Array(to - from + 1).fill().map((v, i) => i + from);
}
但我遇到了一个问题,因为fill((需要一个参数。
有什么解决方案吗??
试试这个
public static getNumberRange(from: number, to: number): number[] {
return new Array(to - from + 1).fill('').map((v, i) => i + from);
}
这在JavaScript中是一件烦人的事情。如果创建一个长度为X的数组(例如new Array(5)
(,则会得到[empty × 5]
数组。即使这个数组有5个长度,你也无法映射它
这里是array.fill函数。在您的情况下,您不关心值,所以您可以只填写undefined
值:
Array(to - from + 1).fill(undefined).map((v, i) => i + from)
在填充了undefined
值之后,只有这样你才能映射它
对于您的情况,您可以找到许多替代解决方案:JavaScript是否有类似"range(("的方法来在提供的范围内生成范围?