扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

console.log(...[1,2,3]); // 1 2 3 console.log(1,...[1,2,3],5); // 1 1 2 3 5

合并多个数组

通过push函数,将一个数组添加到另一个数组的尾部;有了扩展运算符,就可以直接将数组传入push方法;

扩展运算符提供了数组合并的新写法。

     var arr1 = [0,1,2];
var arr2 = [3,4,5];
arr1.push(...arr2); // [0,1,2,3,4,5]
console.log(arr1);
     var arr4 = ['a','b'];
var arr5 = ['c'];
var arr6 = ['d','e'];
// es5合并数组
arr4.concat(arr5,arr6);
// es6合并数组
var newArr = [...arr4,...arr5,...arr6];
console.log(newArr);

简化求出一个数组最大元素的写法,由于 JavaScript 不提供求数组最大元素的函数,所以只能套用Math.max函数,将数组转为一个参数序列,然后求最大值。有了扩展运算符以后,就可以直接用Math.max了。

console.log(Math.max(...[14,2,7])); // 14

扩展运算符赋值

如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错

     const [first,...rest] = [1,2,3,4,5];
console.log(first); //
console.log(rest); // [2,3,4,5] // 如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
const [f,...r] = [];
console.log(f,r); // undfined,[] const [f1,...r1] = ["foo"];
console.log(f1,r1); // foo,[]

es6三点运算符的用法的更多相关文章

  1. Es6扩展运算符--三点运算符(...)--展开语法(Spread syntax)

    0.看文档呀 关于拓展运算符更详细的解释见 > MDN展开语法 关于剩余参数更详细的解释见 >MDN剩余参数 关于解构赋值更详细的解释见 >MDN解构赋值 直接看上面的文档更好 1. ...

  2. ES6(模板字符串,三点运算符,Symbol,iterator接口)

    模板字符串 作用:简化字符串的拼接 模板字符串必须用``包含 变化的部分使用${xxx}包含 对象的简写方式 同名的属性可以省略不写 可以省略函数的function 箭头函数 箭头函数的特点 箭头函数 ...

  3. es6之扩展运算符 三个点(...)

    对象的扩展运算符理解对象的扩展运算符其实很简单,只要记住一句话就可以: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 let bar = { a: 1, b: 2 ...

  4. JS逗号运算符的用法详解

    逗号运算符的用法详解 注意: 一.由于目前正在功读JavaScript技术,所以这里拿JavaScript为例.你可以自己在PHP中试试. 二.JavaScript语法比较复杂,因此拿JavaScri ...

  5. ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用

    ES6新增的三点运算符,是由三个点表示,在数组中扮演着重要的角色,可以对数组进行合并与分解.可以对set等数据结构进行转换.可以对函数参数进行简化表示,接下来,我们一起揭开其神秘面纱… ●三点—res ...

  6. ES6,扩展运算符的用途

    ES6的扩展运算符可以说是非常使用的,在给多参数函数传参,替代Apply,合并数组,和解构配合进行赋值方面提供了很好的便利性. 扩展运算符就是三个点“...”,就是将实现了Iterator 接口的对象 ...

  7. es6 Null 传导运算符

    Null 传导运算符 程实务中,如果读取对象内部的某个属性,往往需要判断一下该对象是否存在.比如,要读取message.body.user.firstName,安全的写法是写成下面这样. const ...

  8. 21.Python算术运算符及用法详解

    算术运算符是处理四则运算的符号,在数字的处理中应用得最多.Python 支持所有的基本算术运算符,如表 1 所示. 表 1 Python常用算术运算符 运算符 说明 实例 结果 + 加 12.45 + ...

  9. 位运算符的用法 ----非(!),与(&),或(|),异或(^)

    位运算符的用法 ----非(!),与(&),或(|),异或(^) 三种运算符均针对二进制 非!:是一元运算符.对一个二进制的整数按位取反,输入0则输出1,输入1则输出0. 例: 0100 -( ...

随机推荐

  1. 中科燕园GIS外包--移动GIS

    移动GIS恰逢其时 得益于移动智能终端的普及和移动互联网的发展,伴随着GIS技术的发展和应用的深入.越来越多的企业和普通消费者開始体会到移动GIS的巨大潜力和价值. 移动GIS轻便灵活,受众面广.随时 ...

  2. 视图中使用ROWNUM要注意

    昨天晚上帮一位兄弟优化一个ebs的sql. sql有好几百行. SQL的样子是select .... from 视图 where ....过滤条件 视图的代码贴出来就不给大家看了,比較长.另外设计保密 ...

  3. 如何使用jquery判断一个元素是否含有一个指定的类(class)

    如何使用jquery判断一个元素是否含有一个指定的类(class) 一.总结 一句话总结:可以用hasClass方法(专用)和is方法 1.is(expr|obj|ele|fn)的方法几个参数表示什么 ...

  4. js---- localStorage的基本用法

    <body> <div> <span>用户名</span> <input type="text" class='usernam ...

  5. Spring Cloud Netflix Eureka client源码分析

    1.client端 EurekaClient提供三个功能: EurekaClient API contracts are:* - provide the ability to get Instance ...

  6. storm1.1运行时问题

    java.lang.NoClassDefFoundError: org/apache/curator/shaded/com/google/common/cache/CacheBuilder 程序并没有 ...

  7. Oracle 启动失败报错“TNS-12555: TNS:permission denied”解决办法

    [oracle@testdb admin]$ lsnrctl start   LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-FEB- ...

  8. LuoguP2765 魔术球问题(最大流)

    题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全 ...

  9. python的循环测试

    这段代码要实现的是:猜数字58 ,猜三次,三个判断条件和一个结束条件.判断为等于58的时候跳出循环. 首先定义一个固定变量 int 函数是更改input输入的文字类型 if guess_age == ...

  10. factor---将素数分解为质数