1.创建Array
let colors = new Array();
let colors1 = new Array(20);
let colors2 = new Array("red","blue","green");
let colors = Array("red");
- 通过Array构造方法创建Array
(1)构造方法传入数值参数,会创建相应大小的数组
(2)构造方法传入其他类型,会创建只包含此类型的数组
let colors = ["red","blue","green"];
let names = [];
- 通过数组字面量表示法创建数组。
(1)在使用数组字面量表示法创建数组不会调用Array构造函数。
console.log(Array.from("abcde"));
const m = new Map().set(1,2)
.set(3,4);
const s = new Set().add(1)
.add(2)
.add(3)
.add(4);
console.log(Array.from(m));
console.log(Array.from(s));
const a1 = [1,2,3,4];
const a2 = Array.from(a1);
console.log(a1 === a2);
cosnt iter = {
*[Symbol.iterator](){
yield 1;
yield 2;
yield 3;
yield 4;
}
}
console.log(Array.from(iter));
function getArgsArray(){
return Array.from(arguments);
}
console.log(getArgsArray(1,2,3,4));
const arrayLikeObject = {
0:1,
1:2,
2:3,
3:4,
length:4
};
console.log(Array.from(arrayLikeObject));
const a1 = [1,2,3,4];
const a2 = Array.from(a1,x=>x**2);
const a3 = Array.from(a1,function(x){
return x**this.exponent},{
exponent:2})
console.log(a2);
console.log(a3);
- 通过Array.from方法来创建数组
(1)接收字符串参数,返回每个字符所组成的数组。
(2)接收Set类型参数,返回Set中的值组成的参数。
(3)接收Map类型参数,将每个Map的键值对作为数组,返回每个键值对数组所组成的数组。
(4)接收可迭代的对象,返回对象中值组成的数组。
(5)接收函数中的arguments对象,返回参数组成的数组。
(6)接收特定的对象,有length属性及其值和索引值属性及其值。
(7)可接收第二个参数,得是一个函数,用来增强数组的值。
(8)可接收第三个参数,作为指定映射函数中this的值。
console.log(Array.of(1,2,3,4));
- 通过Array.of方法来创建数组,返回其参数组成的数组。
2.数组空位
const options = [,,,,,];
console.log(options);