1. 最簡單粗暴的方法:for循環
var arr = []; for(var n=0; n<10; n++){ arr[n] = 0; }
2. 用ES6中的fill()方法
var arr = new Array(10).fill(0);
3.使用Uint8Array()方法
//生成8位無符號整數值的類型化數組,內容將初始化為0。 var arr = new Uint8Array(10);
4. Array與String中的反復橫跳
var arr = new Array(10+1).join('0').split('');
但是生成的是"0"組成的數組
5.無用的方法:使用數組對象的map()方法
var arr = new Array(10); arr.map(item=>{ return 0; }); // 這樣只能得到一個length=10,但沒有元素的數組;map不能對沒有元素的item進行操作
該方法會得到:
如果非得用的話:
var arr = Array.apply(null, Array(5)).map(Number.prototype.valueOf,0);
(另,如果判斷是否為全0數組,迭代方法就比較香了,如
var arr = [0,0,0,0,0]; var isZeroArray = !arr.some(item => item!==0); // ture則表示arr是全0數組