es6之三個點(...)擴展運算符


我們看一個語法,你就知道es6對我們碼農多友好,畢竟世界在進步

let arr=[1,2,3,4,54,56]
console.log(...arr)

  結果是?????

沒錯 ...這個運算符就是把這個數組擴展開了

也可以倒着用

function show(...a){
    console.log(a);
}
show(1,2,3,4,5)

  執行結果是???

沒錯變成數組了

好強大啊  那么我就想問問對於咱們的json數據行不行呢?

試試就知道

e 不行啊,看起來是不行啊 估計到es2020就行了

那么現在有一個需求,就是有一個函數將傳入的數字進行排序

在之前是不是就是

function show(){
  let a =Array.prototype.slice.call(arguments);
   return  a.sort  
}

 現在呢

function show(...arr){
  return arr.sort()
}

  哎沒有對比就沒有傷害

還有這樣操作

function show(a,b,c){
  console.log(a,b,c)
}
show(..[1,2,3])

  我們之前復制一個數組怎么做

let arr=[1,23,3]

let arr2=[...arr]

這些只是...作為擴展運算符,rest運算符也是...他的作用剛好相反

function show(a,...b){
   console.log(a,b)
}
show(1,2,3,4,45)

  打印出來的會是什么呢 a=1,b=[2,3,4,45]

當不知道有多少各參數的時候可以很愉快的這樣使用

rest運算符配合解構使用:

var [a, ...rest] = [1, 2, 3, 4];
console.log(a);//1
console.log(rest);//[2, 3, 4]

  記住一點rest時候...一定放在后邊,

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM