七,ES6为数组做的一些扩展

    xiaoxiao2021-03-25  100

    Array.of()函数

    将一组值,转换成数组

    Array.of(1,2,3,4,5,6)//[1,2,3,4,5,6]

    Array.from()函数

    可以将类似数组的对象或者可遍历的对象转换成真正的数组

    哪些是类似数组的对象呢?最常见的就是通过document.getElementByTagName("a");方法得到的结果哦,它就 是一个类似数组的结果

    var  a=document.getElementByTagName("a");

    instanceof Array;  //结果:false,不是数组     

    a instanceof Object; //结果:true,是对象

    接下来用Array.from();

     Array.from(a) instanceof Array;  //true  是数组

    Array.from函数其中一个用处就是将字符串转换成数组

    var str="hello";

    Array.from(str)//["h","e","l","l","o"]

    find()函数;

    找出数组中符合条件的第一个元素

     let arr = [1,2,3,4,5,6];     arr.find(function(value){         return value > 2;         });     //结果:value=3

    如果元素都不符合匿名函数的条件,find( )函数就会返回undefind。

    let arr = [1,2,3,4,5,6];     arr.find(function(value){         return value > 7;         });//undefined

    findIndex()函数;

    返回符合条件的第一个数组成员的位置。

     let arr = [7,8,9,10];

    arr.findIndex(function(value){  

    return value > 8;

         })

          //结果:2

    if元素都不符合匿名函数的条件,findIndex( )函数就会返回-1。

    fill()函数

    用指定的值,填充数组;

    var  arr=[1,2,3];

    arr.fill(4)//[4,4,4]

    所有元素都被4填充了,如果不想全部被填充呢?

    var  arr=[1,2,3];

    arr.fill(4,1,3)//[1,4,4]

    上面的代码中第2个参数和第3个参数的意思是:从位置1的元素开始填充数字4,截止到位置3之前,

    所以是位置1和位置2的元素被数字4填充了,得到的结果:[1,4,4]。

    entries()函数

    对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历(for....of稍后章节会讲到)

    var  arr=["aa","bb"];

    for(let [k,v] of arr.entries()){

    console.log(k+v);

    }

    //0 "aa"

    //1 "bb"

    keys()函数

    对数组的索引键进行遍历,返回一个遍历器

     for(let index of ['a', 'b'].keys())     {         console.log(index);     } //0  //1

    values()函数

    对数组的元素进行遍历,返回一个遍历器

    for(let value of ['a', 'b'].values())         {

            console.log(value);     }     //a     //b

    数组推导

    用简洁的写法,直接通过现有的数组生成新数组

    例如:传统方法:

    var arr1 = [1,2,3,4];     var arr2 = [];     for(let i=0;i<arr1.length;i++){         //每个元素乘以2后,push到数组arr2         arr2.push(arr1[i]*2);     }     console.log(arr2);     //结果:[2,4,6,8]

    数组推导:

    var arr1 = [1, 2, 3, 4];     var arr2 = [for(i of arr1) i * 2];     console.log(arr2);     //结果: [ 2, 4, 6, 8 ]

    转载请注明原文地址: https://ju.6miu.com/read-25994.html

    最新回复(0)