我需要动态创建数组,只知道它的长度。例如,我需要数组为3,所以我需要数组=[-10,0,10],如果我需要数组9,它将为[-40,-30,-20,-10,0,10,20,30,40]等。我如何自动创建?
您可以简单地使用Array
和fill
来获得结果
由于您只希望0
位于中心,因此输入应该是odd
。
const end = 9;
let start = Math.floor(end / 2);
const result = [
...Array(start).fill(0).map((_, i) => start * -10 + i * 10),
0,
...Array(start).fill(0).map((_, i) => (i + 1) * 10)
]
console.log(result)
Array.from
:的另一个解决方案
const createArray = (length) => Array.from({length}, (el, i) => Math.round(i - length / 2) * 10);
console.log(createArray(1))
console.log(createArray(3))
console.log(createArray(9))