• ES6 — 数组Array


    ES6对数组引入了几个新函数:

    (1) Array.of()

      作用是将一组数值,转换为数组。

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

    (2) Array.from() 

      作用是把类数组的对象或者可遍历的对象变为真正数组,并返回此数组。

      let ele=document.getElementsByTagName('a');

      ele instanceof Array;   //false

      ele instanceof Object;   //true

     我们使用Array.from()可以把对象转为数组:

      Array.from(ele) instanceof Array    //true

    字符串处理:

      let str='hello';

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

    (3) find() 函数

      作用是在数组中找到符合条件的第一个元素。其参数为一个匿名函数。

      let arr=[1,2,3,4,5,3];

      arr.find(function( value ){

        return value>2;    //3

       // return value>6;    //当没有找到符合条件的元素时返回 undefined;

      })  ;

    (4) findIndex() 函数

      作用是返回符合条件的第一个元素在数组中的下标。

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

      arr.findIndex(function( value ){

        return value>8;      //2  ,没有找到时返回-1

      })

      可以看到 findIndex()和find()的函数的用法相同,作用也基本相同,只是一个返回元素值,一个返回元素的下标。

    (5) fill() 函数

      作用用指定的值填充数组。

      let arr=[1,2,3];

      arr.fill(4);   //arr=[4,4,4]  默认为全部填充;

      arr.fill(4,1,3);   //arr=[1,4,4]  第一个参数为要填充的元素,后两个参数表示填充范围的下标为 >=1 && <3 ,即下标为1,2的位置。当最后一个参数超出数组时,则填充到结尾。

    (6) entries() 函数

      作用对函数的键值进行遍历,返回一个遍历器(即遍历结果),可以用for...of对其遍历。

      for(let [i,v] of ['a','b'].entries()){

        console.log(i,v);

      } 

       得到数组的键值为:0,1 ,相应的值为: 'a'和'b'。

    (7) keys() 函数

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

       for (let index of ['a','b'].keys()){

        console.log(index)

      }

       

    (8) values() 函数

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

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

        console.log(value);

      }

      //a

      //b

    (9) 数组推导:用简洁的写法,直接通过现有的数组生成新的数组。

      传统的写法:

      var arr1=[1,2,3];

      var arr2=[];

      for (let i=0;i<arr1.length;i++){

        arr2.push(arr1[i]*2);

      }

      或者可以使用forEach:

      arr1.forEach(function(i){

         arr2.push(i*2);

      });

      新写法:(但是测试发现,chrome还不支持这种写法,Firefox支持。

      var arr1=[1,2,3];

      var arr2=[for(i of arr1)i*2];  //2,4,6

      还可以加上if判断:

      var arr3=[for(i of arr2) if(i>3) i];  //4,6

      

     

    ___________________________

    参考公众号:web前端教程

      

     

  • 相关阅读:
    Java NIO:NIO概述
    Elasticsearch在windows上安装好了之后怎么使用?
    Elasticsearch之基本操作
    elasticsearch 第五篇(文档操作接口)
    elasticsearch 第四篇(API约定)
    elasticsearch 第三篇(安装篇)
    elasticsearch 第二篇(配置篇)
    非智能手机通信录备份并还原至Android智能手机方法
    ADB server didn't ACK 问题解决
    Samsung I9103刷cm-10.1的方法
  • 原文地址:https://www.cnblogs.com/telnetzhang/p/5684905.html
Copyright © 2020-2023  润新知