ES6中的数组

1、将特定格式的json数据转成数组

定义一个json数据(length长度必须要有,且与内容的个数一致,不然转换后的数组会有undefined,必须从0开始,不然数组前面的数据会有undefined,数字上的引号可以省略,如果不是数字,则不会被转成数组里的值):

let json = {
    '0':'aa',
    '1':'bb',
    '2':'cc',
    length:3
};

用Array.from转化json数据:

let arr = Array.from(json);
console.log(arr);      //(3) ["aa", "bb", "cc"]

2、Array.of方法

通过该方法,可以将一堆值转化成一个数组(返回的是由参数值组成的数组):

let a = 'aa';
let b = 'bb';
let c = 'cc';
let arr = Array.of(a,b,c);
console.log(arr);     //(3) ["aa", "bb", "cc"]

Array.of()如果不传值,则返回一个空数组

3、find()

find()是一个实例方法,只能通过声明的数组变量来调用,而不能通过Array来调用,find()里是一个回调函数,有三个参数,value,index,arr
value表示每一次查找的数组元素,index表示每一次查找的数组元素的索引(下标),arr表示被查找的数组,如果找到了,则返回找到的数组元素,如果没找到,则返回undefined

let arr = ['aa','bb','cc'];
let res = arr.find((value,index,arr)=>{
    return value==='cc';
});
console.log(res);        //cc

4、fill()

fill()是一个实例方法,可以用来填充数组
fill()里的第一个参数为要填充的数据,第二个参数表示数组填充的开始位置,第三个参数表示数组填充的结束位置(不包含该位置)
如果只传一个参数,可以用来做数组的初始化:

let arr = Array(5).fill(7);
console.log(arr);        //(5) [7, 7, 7, 7, 7]

传三个参数的时候:

let arr = Array(5).fill(7);
console.log(arr);        //(5) [7, 7, 7, 7, 7]
arr.fill(6,2,3);
console.log(arr);        //(5) [7, 7, 6, 7, 7]

5、for of 循环数组

例:

let arr = ['aa','bb','cc'];
for(let item of arr){
    console.log(item);
}

如果要通过for-of循环,循环出数组的索引(下标),可以通过如下的方式:

let arr = ['aa','bb','cc'];
for(let item of arr.keys()){
    console.log(item);
}        //分别打印出0、1、2

如果要同时输出数组的索引和内容,可以通过如下方式:

let arr = ['aa','bb','cc'];
for(let [index,value] of arr.entries()){
    console.log(index + ' - ' + value);
}
//分别打印0 - aa 1 - bb 2 - cc

你可能感兴趣的:(ES6的学习)