美文网首页
ES6中的数组

ES6中的数组

作者: 一只码农的成长 | 来源:发表于2018-06-26 22:00 被阅读0次

    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中的数组

          本文链接:https://www.haomeiwen.com/subject/iovmyftx.html