Javascript 生成数组的方法并填充数组

1.第一种

    new Array(6).fill(0).map((item, index) => index + 1)

2.第二种:

Array.from() 可以通过以下方式来创建数组对象:

语法

Array.from(arrayLike)
Array.from(arrayLike, mapFn)
Array.from(arrayLike, mapFn, thisArg)

参数

arrayLike
  想要转换成数组的类数组或可迭代对象。
mapFn    可选
调用数组每个元素的函数。如果提供,每个将要添加到数组中的值首先会传递给该函数,然后将 `mapFn` 的返回值增加到数组中。使用以下参数调用该函数:
          element
          数组当前正在处理的元素。

          index
          数组当前正在处理的元素的索引。
thisArg 可选
执行 mapFn 时用作 this 的值。

伪数组对象(拥有一个 length 属性和若干索引属性的任意对象)
可迭代对象(可以获取对象中的元素,如 Map和 Set 等)

var arr = [];
// 向数组里填充
arr  = Array(10).fill(1);
// 将伪数组转为数组,并给每个元素填充1
Array.from({length:10}, ()=>1);
var arr = [];
arr.length = 10;

//生成数列:生成重复字符,切开。 k+1 数组从 1 开始
arr = "X".repeat(10).split('').map((v,k) => k+1);
// "X".repeat(10).split('').map((v,k) => k);// 0 - 9 

//生成数列:生成对象转数组。 k+1 数组从 1 开始 
arr = Array.from({length:10}, (v, k) => k+1);
// Array.from({length:10}, (v, k) => k);//  0 - 9 

// 用for实现。声明 arr 也包含在内了 //生成数列:无体 (for 不加大括号就一定要分号结束) 
for(var arr=[],i=1; arr.length<10; arr.push(i++));

//另类 for 方法,因为用了 let 所以for外也拿不到它。//生成数列:无体 (for 不加大括号就一定要分号结束) 
for(let arr=[],i=1; arr.length<10; arr.push(i++));

// 利用  Array.from + 箭头函数
Array.from({length:10}, (v, i) => i);

// 利用  Array.from + keys()
Array.from(Array(100).keys())

// 利用  Array.of + keys() +数组展开
Array.of(...Array(10).keys())

// 直接构建数组展开
[...Array(10).keys()]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容