1.使用数组字面量表示法
var arr = []; //创建一个空数组
var arr1 = [10]; // 创建一个包含1项数据为10的数组
var arr2 = ["a","b","c","d"]; // 创建一个包含4个字符串的数组
2.使用 Array 构造函数
// 无参数
var arr1 = new Array(); //创建一个空数组
// 有参数
// 1.如果只传一个数值参数,则表示创建一个初始长度为指定数值的空数组
var arr2 = new Array(20); // 创建一个包含10项的数组
// 2.如果传入一个非数值的参数或者参数个数大于 1,则表示创建一个包含指定元素的数组
var arr3 = new Array("a","b","c"); // 创建一个包含3个字符串的数组
var array4 = new Array('10'); // ["10"]
3. Array.from 方法创建数组 (es6 新增)
function arga(...args) { //...args剩余参数数组,由传递给函数的实际参数提供
let arg = Array.from(args);
console.log(arg); // ['arr1',26,'from']
}
arga('arr1', 26, 'from')
映射转换
向 Array.from()方法传递一个映射用的函数作为第二个参数
function arga(...args) {
return Array.from(args, value => value + 1);
}
let arr = arga('arr', 26, 'pop');
console.log(arr);//['arr1',27,'pop1']
向 Array.from()方法传递一个映射用的函数作为第三个参数
const helper = {
diff: 1,
add(value) {
return value + this.diff;
}
}
function translate() {
//arguments 是一个对应于传递给函数的参数的类数组对象
return Array.from(arguments, helper.add, helper);
}
let arr = translate('liu', 26, 'man');
console.log(arr); // ["liu1", 27, "man1"]
4. Array.of 方法创建数组 (es6 新增)
// Array.of()方法总会创建一个包含所有传入参数的数组,而不管参数的数量与类型。
let arr = Array.of(1, 2);
console.log(arr.length); //2
let arr1 = Array.of(3);
console.log(arr1.length); //1
console.log(arr1[0]); //3
let arr2 = Array.of('2');
console.log(arr2.length); //1
console.log(arr2[0]); //'2'