Javascript 二进制数组需要有一个固定的长度

Javascript 二进制数组需要有一个固定的长度,javascript,arrays,fixed-length-array,Javascript,Arrays,Fixed Length Array,我目前正在开发一个二进制编码器,完成后,它应该根据输入的十进制数选中某些复选框 我已经有了将数字转换为数组的脚本。 数字512的输出将是[1,0,0,0,0,0,0,0,0],这是我想要的。 但是数字4的输出当前是[1,0,0],我不希望发生这种情况。 我希望数组具有固定长度,因此4的输出应该是[0,0,0,0,0,0,0,1,0,0] 这就是我目前拥有的代码: document.getElementById('myDez').oninput = document.getElementById(

我目前正在开发一个二进制编码器,完成后,它应该根据输入的十进制数选中某些复选框

我已经有了将数字转换为数组的脚本。
数字512的输出将是
[1,0,0,0,0,0,0,0,0]
,这是我想要的。
但是数字4的输出当前是
[1,0,0]
,我不希望发生这种情况。
我希望数组具有固定长度,因此4的输出应该是
[0,0,0,0,0,0,0,1,0,0]

这就是我目前拥有的代码:

document.getElementById('myDez').oninput =
document.getElementById('myDez').onblur = document.getElementById('myDez').onkeydown = function (event) {  
    if (event.which == 13 || event.type == 'blur' || event.type == 'input') {
        var myDez = parseInt(this.value);
        var myBin = myDez.toString(2);
        document.getElementById('myBin').value = myBin;
        var arr = [,,,,];
        var arr =  myBin.split(''); 
        var numberArr = arr.map(Number); 

    }
    console.log(numberArr);

}

先谢谢你

var arr = new Array(10);
console.log(arr.length) // 10
这将创建一个固定长度的数组。

您可以使用
padStart(10,0)
其中10是您想要的宽度。请注意,这不会截断,因此,如果希望确保大数字不会超过所需的宽度,可以添加
切片(-width)


console.log([…(+“42”).toString(2).padStart(10,0)].map(编号))在函数末尾,插入额外的0元素以使其达到所需大小。