在值之前和之后用零动态填充Javascript数组的算法

Mic*_*gas -2 javascript python arrays django

我使用python / django动态获取了几个月的数据,并将其传递给我的模板。在那里我使用Javascript操纵数据

这意味着我的模板中有一个javascript数组,每个数字都代表一个月,如下所示:

months = [1,2,3,4]

或者:

months = [4,5,6]

或者:

months = [6,7,8]

根据上面的数组,我想用零填充缺失的位置。缺少位置意味着该数组的末尾长度应为12。每个月都应处于正确的位置。例如:

months = [1,2,3,4,0,0,0,0,0,0,0,0]

或者

months = [0,0,0,4,5,6,0,0,0,0,0,0]

或者

months = [0,0,0,0,0,6,7,8,0,0,0,0]

我尝试了很多事情。Splicing似乎是个好方法,但效果不理想。我无法使用解决它Array.fill。我还尝试创建一个具有12个零的新数组,然后将另一个数组的值推入其中,但这没有用。

有人可以指出我正确的方向还是有想法?非常感谢。

Nin*_*olz 6

您可以采用一个新数组,并用索引中的项目(如果找到)或零填充它。

const fill = m => Array.from({ length: 12 }, (_, i) => +m.includes(i + 1) && i + 1);

console.log(...fill([1, 2, 3, 4]));
console.log(...fill([4, 5, 6]));
console.log(...fill([6, 7, 8]));
Run Code Online (Sandbox Code Playgroud)