• ES6 数组的拓展(五)


    一、扩展运算符(...)
    将数组转化为以,分割的字符串
    eg:

        console.log(...[1,2,3,4]);    //1 2 3 4 

    将字符串转化为数组
    eg:

        console.log([...'hello']);  //['h','e','l','l','o']

    求数组中最大值
    eg:

        //求参数中最大值
        let result1 =  Math.max(2,5,8,23,75);
        console.log(result1);
        //ES5中求数组中的最大值
        let result2 =  Math.max.apply(null,[2,5,8,23,75]);
        console.log(result2);    //75
        //ES6中求数组中的最大值
        let result3 =  Math.max(...[1,2,3,4,5,6,7]);
        console.log(result3);    //7


    二、数组新添方法
    具备Iterator接口的数据结构:Array、String、类数组对象、Set和Map集合、

    Array.from()    【将具备Iterator接口的数据结构转化为数组,并返回该数组

    Array.of()      【返回参数值组成的数组
    弥补构造函数创建数组的不足
    eg:

        let arr1 = new Array(10);  //创建一个长度为10的空数组arr1
        let arr2 = Array.of(10);    //创建数组arr2 = [10];

       
    find()和findIndex()    
    find()    【返回第一个符合条件的数组元素或undefined
    findIndex()    【返回第一个符合条件的数组元素的索引或-1
    eg:

        let arr = [16,17,14,19,20,14,30]
        //返回第一个符合条件的数组元素或undefined
        let result = arr.find((element,index,arr)=>{
            return element>18;
        });
        console.log(result);    //19
    
        //返回第一个符合条件的数组元素的索引或-1
        let result2 = arr.findIndex((element,index,arr)=>{
            return element>18;
        });
        console.log(result2);    //3


    fill()    【使用给定参数值作为单个元素值替换数组中的所有元素
    eg:

        [1,2,3].fill('hello');  //返回结果为:['hello','hello','hello']

       
    arr.keys()    【返回包含所有元素索引的迭代器数组对象

    arr.values()    【返回包含所有元素值的迭代器数组对象

    arr.entries()返回数组中元素索引、元素值以key-value形式的组成的迭代器数组对象】[[index1,element1],[index2,element2]]
    注:
        迭代器对象可以使用for-of来遍历获取里面的值
    eg:

        for(let [index,element] of arr.entries()){
            console.log(index,element);    //index为arr的元素索引,element为对应的索引的元素值
        }

       
    includes()    【判断数组中是否包含参数中的值,返回boolean类型
    eg:

        [1, 2, 3].includes(2) // true
        [1, 2, 3].includes(4) // false
        [1, 2, NaN].includes(NaN) // true


       

  • 相关阅读:
    How to tell your iPhone application that location services are required | The Agile Warrior
    How to detect whether socket is still connected...
    Ubuntu Touch On Nexus4 Manual Install (手动安装) under Gentoo
    LanguageTag
    » Working Around JNI UTF-8 Strings Deprogramming
    Mget is available.
    Fix Valgrind's must-be-redirected error in Gentoo
    vector 测试
    abc
    Effective STL 43: Prefer algorithm calls to hand-written loops
  • 原文地址:https://www.cnblogs.com/nzcblogs/p/11360942.html
Copyright © 2020-2023  润新知