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数组