创建数字为+10/-10的数组,其中中间一个为0,具体取决于我想要的长度



我需要动态创建数组,只知道它的长度。例如,我需要数组为3,所以我需要数组=[-10,0,10],如果我需要数组9,它将为[-40,-30,-20,-10,0,10,20,30,40]等。我如何自动创建?

您可以简单地使用Arrayfill来获得结果

由于您只希望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))

相关内容

  • 没有找到相关文章