1.扩展运算符
    含义: 扩展运算符,三个点(...),将一个数组转为用逗号分隔的参数顺序。
      例如:
        console.log([1,2,3]);
        console.log(...[1,2,3]);
 
        结果: [1,2,3]
            1,2,3
        用法: 作为函数参数
          function f(x,y,z) {
            console.log(y);
            // 1
          }
          let args = [0,1,2];
            f(...args);
        用法:求数组的最大值
          Math.max(..[14,4,44]) //44
        应用:复制数组
          const a1 = [1,2];
          const a2 = a1;
          a2[0] = 2;
          a1 // [2,2]
        应用: 合并数组
          [1,2,...more]
        应用:与解构赋值结合
          [a,...reast] = list
        应用: 可以将字符串转为真正的数组
          console.log([...'hello'])
          [ "h", "e", "l", "l", "o" ]
2.Array.from()
    方法用于将两个类对象转为真正的数组。
      应用:类数组对象转为真正的数组
        let arrayLike = {
          '0':'a',
          '1':'b',
          '2':'c',
          length:3
        }
        let arr = Array.from(arrayLike);
        console.log(arr);
          //["a", "b", "c"]
    

      应用:将字符串转为数组
        var arr = Array.from('hello');
        console.log(arr);
        ["h", "e", "l", "l", "o"]
      如果是一个真正的数组那么返回原数组
        Array.from 还可以接受第二个参数。
        let arr = Array.from([1,2,3],(x)=> x*x);
          console.log(arr);
          // [1, 4, 9]
3.Array.of 方法用于将一组数值,转为数组
    例如:
      var arr = Array.of(3,11,8);
        console.log(arr);
        // [3, 11, 8]
4.数组实例的 copyWithin()
    数组实例的copyWithin 方法,在当前数组内部,将指定位置的成员复制到其他位置,
  (会覆盖原来成员),然后返回当前数组,也就是说,使用这个方法,会修改当前数组。
 
    它接受三个参数。
      target(必需):从该位置开始替换数据。
      start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
      end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒。
5.数组的实例的 find() 和findIndex()
    数组实例的find 方法,用于找出第一个符合条件的数组成员,它的参数是一个回调函
    数,所有出租成员一次执行该回调函数,直到找到的哥返回值为true的成员,然后
    返回该成员,如果没有符合条件的返回aundefined
 
    let a = [1,4,-5,10].find((n)=> n <0)
      console.log(a); // -5
    let b = [1,5,10,15].find(function (value,index,arr) {
      return value > 9;
    })
    console.log(b); // 10
    findIndex 方法的用法与find 方法返回非常类似,返回第一个符合条件的数组
      成员的位置,如果所有成员不符合条件返回-1。
      例如[1,5,10,15].findIndex(function(value,index,arr){
        return value > 9;
      })
6.数组实例的fill()
    fill 方法使用给定值,填充一个数组;
    var arr = ['a','b','c'].fill(7);
    console.log(arr); // [7,7,7]
7.数组实例的 entries(), keys() 和 values()用于遍历数组,他们都是返回一个遍历器对象。
    keys() 是对键名的遍历,values() 是对键值的变量,entries() 是对键值对的遍历。
    for (let index of ['a','b'].keys()){
      console.log(index);
    }
8.数组实例的includes()
    Array.prototype.includes 方法返回一个布尔值,表示某个数组是否包含给定的值。
    [1,2,3].includes(2) // true
    [1,2,3,4].includes(4) //false

es6 数组扩展方法的更多相关文章

  1. ES6数组扩展

    前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...

  2. JavaScript ES6 数组新方法 学习随笔

    JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...

  3. ES6之数组扩展方法【一】(相当好用)

    form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...

  4. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

  5. es6数组的方法

    1.复习的函数 函数是由关键字function声明的,他是一个引用数据类型,是Function的实例,在调用的时候会开辟一个私有空间 2.函数的成员 arguments:null  (是实参构成的数组 ...

  6. ES6 - 数组扩展(扩展运算符)

    扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算(函数),将一个数组转为用逗号分隔的参数序列. rest: 变量将多余的参数放入数组中. spread(扩展): ...

  7. ES6数组去重方法

    Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员),操作方法有:add(value).delete(value).has(value).clear():遍历方法有:keys ...

  8. ES6 数组的方法

     数组的类 数组的类是Array 数组的定义 var arr=[元素] var arr=new Array(3) 数字3,代表有三个元素或者三个空位 如果数组定义采用 new 实例,类中跟的是一个数字 ...

  9. ES6 数组扩展

    1....扩展运算符 该运算符将一个数组,变为参数序列. 作用:(1)代替aplly 'use strict'; Math.max(...[2,5,8]) (2)将字符串转为数组 2.Array.fr ...

随机推荐

  1. c++开发ocx入门实践二

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51374355         IDE:vs2010,c++,测试工具,vs自带的TstCo ...

  2. Android中获取TextView行数

    项目中发现,如果直接通过TextView.getLineCount()方法获取行数时,总是0,研究发现,setText()后立即调用getLineCount(), 这时TextView还未完成meas ...

  3. Unity使Text 文字逐个出现

    Text tex; string s="Unity使Text 文字逐个出现"; //字符出现间隔 waitTime = 0.3f; // float speed=0; //方法一 ...

  4. WebService性能测试

    什么是WebService?(本文也会在最下面通俗的介绍) 这里给一个站内大哥的讲解:http://www.cnblogs.com/Leo_wl/archive/2010/05/20/1740205. ...

  5. 我要为运维说一句,我们不是网管,好不!!Are you know?

    运维 运维,这里指互联网运维,通常属于技术部门,与研发.测试.系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同. 一个互联网产品的生成一般经历的过程是:产 ...

  6. Stack vs Heap

    http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...

  7. pt-duplicate-key-checker使用

    pt-duplicate-key-checker工具可以检测表中重复的索引,对于一些业务量很大的表,而且开发不规范的情况下有用.基本用法: 看一下我们的测试表: mysql> desc new_ ...

  8. Session跨域、Session共享、Mode=StateSever方式解决问题

    前言 很多童鞋在工作或面试的过程中,也许会遇到这样的问题,使用Session,怎样让多个站点实现Session共享的问题,也就是在A站点登录,那么在B站点就不需要重新登录了那?如果采用Session保 ...

  9. Win7系统托盘解决出现CH图标的方法

    中文环境下,使用的英文键盘应该是“中文(简体)-美式键盘",这个输入法虽然是用来打英文的,但是归到中文类的,对应就是CH 如果因为某些不知明原因,增加了"美式键盘"等其他 ...

  10. Maven高级应用--编译全模块包-dist包

    1. 在需要生成dist包的模块级别,新建文件夹xxx-xxxx-dist 2. 进入目录,新建pom.xml,建议copy 3. dependencies节点,把要编译成全局包的应用引入进来 < ...