es6 数组扩展

Array.of()函数

将一组值转换为数组

Array.of(1,2,3,4,5);
    //结果:[1,2,3,4,5]

Array.from()函数

将类似数组的对象或者可遍历的对象转换为数组

   let 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函数

返回符合条件的第一个元素的索引,倘若所有元素都不符合匿名函数的条件,findIndex( )函数就会返回-1。

let arr = [7,8,9,10];
     arr.findIndex(function(value){
         return value > 8;
     });
    //结果:2

fill函数

用指定的值填充数组

 let arr = [1,2,3];
    arr.fill(4);
    //结果:[4,4,4]

第2个参数和第3个参数的意思是:从位置1的元素开始填充数字4,截止到位置3之前,所以是位置1和位置2的元素被数字4填充了,得到的结果:[1,4,4]。

 let arr = [1,2,3];
    arr.fill(4,1,3);
    //结果:[1,4,4]

entries函数

对数组的键值对进行遍历,返回一个遍历器,可以使用for...of遍历

for(let [i,v] of ['a', 'b'].entries())
    {
        console.log(i,v);
    }
    //0 "a"
    //1 "b"

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 ]

还可以设定条件

 var array1 = [1, 2, 3, 4];
    var array2 = [for(i of array1)  if(i>3) i];
    console.log(array2);
    //结果: [4]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容