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

我需要动态创建数组,只知道我想要它多长时间。因此,例如我需要数组为 3 长,所以我需要数组 = [-10,10],如果我需要数组 9 长,它将是 [-40,-30,-20,-10,10,20,30,40] 等。如何自动执行?

kuangxielang 回答:创建带有数字 +10/-10 的数组,其中中间一个是 0,具体取决于我想要的长度

您可以简单地使用 Arrayfill

获得结果

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

本文链接:https://www.f2er.com/65523.html

大家都在问