创建数组array的方法
创建数组
-
方法一:构造函数创建数组
let array =new Array();
//创建指定长度数组
let array2 = new Array(20)//创建初始长度为20的数组
//创建指定元素数组
let array3 = new Array(["one","two","three"])PS:构造函数中两个用于创建数组的静态方法【ES6】
-
Array.from();
-
将类数组结构转换为数组实例
-
字符串,拆成单个字符构成数组
Array.from("Lao")//["L","a","o"];
-
Map,每set一次,构成一个数组元素。
const m=new Map().set(1,2).set(3,4);
Array.from(m);//[[1,2],[3,4]]; -
Set,每add一次,构成一个数组元素
const s=new Set().add(1).add(2).add(3).add(4);
Array.from(s);//[1,2,3,4]; -
可迭代对象转数组
const iter={
*[Symbol.iterator](){
yield 1;
yield 2;
yield 3;
yield 4;
}
}
Array.from(iter);//[1,2,3,4] -
arguments对象转数组
function getArgsArray(){
return Array.form(arguments);
}
getArgsArray(1,2,3,4)//[1,2,3,4]; -
带有必要属性的自定对象转数组
const object(={
0:1,
1:2,
2:3,
3:4,
}
Array.from(object)//[1,2,3,4]
-
-
Array.from()带参数用法
【语法】
Array.from(arrary,function(){},object);
array
:需要映射的数组funciton
:映射函数object
:映射函数中this的值【示例】
const a1=[1,2,3,4];
//只用两个参数
const a2=Arrray.from(a1,x=> x**2);//[1,4,9,16];
//使用三个参数
const a4=Array.from(a1,function(){
return x** this.exponent;
},{exponent:2})//[1,4,9,16]
-
-
Array.to();
-
将一组参数转换为数组实例
Array.of(1,2,3,4,undefined)//[1,2,3,4,undefined]
-
-
-
方法二:数组字面量表示法
let array=["one","two","three"];
let array2=["1","2",]//创建包含两个元素的数组PS:数字字面量表示法创建数组不会调用Array构造函数。