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

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 ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值