扩展运算符与rest参数
Posted 飞鹰3995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩展运算符与rest参数相关的知识,希望对你有一定的参考价值。
今天小编来介绍一个平时接触较少的,但是却给平时编码带来很多方便的ES6语法——三个点。这三个点主要是针对数组的格式转换。大家也可以关注我的微信公众号,蜗牛全栈。
一、扩展运算符:把数组或者类数组展开成逗号隔开的值实例1:
function foo(a,b,c){ console.log(a,b,c) } let arr = [1,2,3] foo(...arr) // 1 2 3 console.log(...arr) // 1 2 3
实例2:连接两个数组
let arr1 = [1,2,3] let arr2 = [4,5,6] // es5 Array.prototype.push.apply(arr1,arr2) // [1,2,3,4,5,6] // es6 arr1.push(...arr2) console.log(arr1) // [1,2,3,4,5,6]
实例3:字符串
let str = "hello" let arr = [...str] console.log(arr) // ["h","e","l","l","o"]
二、rest参数:将逗号隔开的值转换为数组实例
1:函数参数
function foo(...args){ let sum = 0 args.forEach(function(item){ sum += item }) return sum } console.log(foo(1,2)) // 3 console.log(foo(1,2,3)) // 6
function foo(x,...args){ console.log(x) console.log(args) } foo(1,2,3,4) // 1 [2,3,4]
实例2:与解构赋值结合
let [x,...y] = [1,2,3] console.log(x) // 1 console.log(y) // [2,3]
以上是关于扩展运算符与rest参数的主要内容,如果未能解决你的问题,请参考以下文章