我需要动态创建数组,只知道我想要它多长时间。因此,例如我需要数组为 3 长,所以我需要数组 = [-10,10],如果我需要数组 9 长,它将是 [-40,-30,-20,-10,10,20,30,40] 等。如何自动执行?
kuangxielang 回答:创建带有数字 +10/-10 的数组,其中中间一个是 0,具体取决于我想要的长度
您可以简单地使用 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),...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))