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. Expected indentation of 0 spaces but found 2

    在搭建vue项目时候,启动后就提示 http://eslint.org/docs/rules/indent Expected indentation of 0 spaces but found 2 由 ...

  2. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

  3. Intellij IDEA快捷键大全汇总

    Alt+回车 导入包,自动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码 ...

  4. 139.00.005 Git学习-分支管理

    @(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...

  5. 【Web crawler】simulated DFS web crawler

    Finish crawl web learned from udacity 提示:在某些时候,你必须在page上调用get_page.这似乎违反直觉,但是我们用 page 这个词时,指的网页的网址 ( ...

  6. Linux ->> UBuntu 14.04 LTE下安装Hadoop 1.2.1(集群分布式模式)

    安装步骤: 1) JDK -- Hadoop是用Java写的,不安装Java虚拟机怎么运行Hadoop的程序: 2)创建专门用于运行和执行hadoop任务(比如map和reduce任务)的linux用 ...

  7. Oracle案例02——ORA-12034: "SCOTT"."USER_TABLE" 上的实体化视图日志比上次刷新后的内容新

    最近同事在交接工作时,发现有几个schedule job没有执行成功,我这边给看了下,其中一个是由于数据库迁移,调用dblink的host主机IP在tnsnames中没有变更导致,还有一个是无法视图的 ...

  8. windows下安装jekyll

    jekyll在其官方网站上说并不建议在windows操作系统安装,可是我们已经在windows环境下操作比较习惯了,而安装linux或mac的成本又比较高.因此,虽然在windows安装jekyll的 ...

  9. java img图片转pdf 工具类

    package com.elitel.hljhr.comm.web.main.controller; import java.io.File; import java.io.FileNotFoundE ...

  10. 【Leetcode】【Medium】Maximum Product Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...