JS创建全0数组-方法总结

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

 

posted @ 2020-03-05 15:05  兔子大叔  阅读(14360)  评论(0编辑  收藏  举报