美文网首页
ES6--数组扩展

ES6--数组扩展

作者: bjhu电net | 来源:发表于2017-09-20 15:17 被阅读0次

    1.Array.of()

    {
        let arr=Array.of(3,4,7,8,11);
        console.log(arr)
        // [3, 4, 7, 8, 11]
        let empty=Array.of();
        console.log(empty)
        //[]
    }
    

    Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
    Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个包含 7 个 undefined 元素的数组。

    2.Array.from(),将dom集合转化成数组,可以用forEach方法遍历

    Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

    {
        let p=document.querySelectorAll('p');
        let pArr=Array.from(p);
        pArr.forEach(function(item){
            console.log(item.textContent)
        })
        //111 222 333
        console.log(Array.from([1,3,5],function(item){return item*2}));
        //[2, 6, 10]
    }
    

    3.Array.fill()

    {
        console.log('fill',[1,'a',undefined].fill(7))
        //[7, 7, 7]
       console.log('fill-2',['a','b','c'].fill(7,1,3));
        //["a", 7, 7] 从起始位置1开始结束位置3替换成7
    }
    

    4.Array的keys(),values(),entries()方法

    keys()用来获取数组的下标,values()获取数组的值,entries()获取数组的下标和值

    {
        for(let index of ['1','c','ks'].keys()){
            console.log(index)
        }
        //0 1 2
        for(let value of ['1','c','ks'].values()){
            console.log(value)
        }
        //1 c ks 有兼容性问题
        for(let [index,value] of ['1','c','ks'].entries()){
            console.log(index,value)
        }
        //0 1
        //2 c
        //3 ks
    }
    

    5.Array.copyWithin()

    {
        console.log([1,2,3,4,5].copyWithin(0,3,4))
        //[4, 2, 3, 4, 5]
    }
    

    6.Array.find()和Array.findIndex()

    数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
    数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。

    {
        console.log([1,2,3,4,5,6].find(function(item){
            return item>3;
        }))
        //4 注意find只找出第一个满足的值
        console.log([1,2,3,4,5,6].findIndex(function(item){
            return item>3;
        }))
        //3 返回符合条件的下标
    }
    

    7.Array.includes()

    {
        console.log([1,2,NaN].includes(1))
        //true
        console.log([1,2,NaN].includes(NaN))
        //true
    }
    

    相关文章

      网友评论

          本文标题:ES6--数组扩展

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