?? 個人主頁歡迎訪問 ??
大家好,本人名叫蘇日儷格,大家叫我 (格格) 就好,在上一章節(jié)中我們學(xué)到了箭頭函數(shù)的用法,下面我們一起來繼續(xù)學(xué)習(xí)擴展運算符:
... 代表著擴展運算符或Rest(剩余)運算符
廢話不多說,直接帶大家看幾個例子:
// 當(dāng)傳入的參數(shù)不確定或者多個的時候,就可以當(dāng)做arguments來使用
function show(...a){
console.log(a); // [14, 12, 54, 33, 22]
}
show(14,12,54,33,22);
此外擴展運算符還可以解決數(shù)組的引用的問題:
let a = [14,12,54,33,22];
let b = a; // 相當(dāng)于copy
a.push(44);
console.log(a); // [14, 12, 54, 33, 22, 44]
console.log(b); // [14, 12, 54, 33, 22, 44]
上面這個例子說明了b是a的一個引用,也就是說二者所在的內(nèi)存是同一個,要想改變a不影響b的話,就要開辟一個新內(nèi)存,解決方式:
let a = [14,12,54,33,22];
let b = [...a];
a.push(44);
console.log(a); // [14, 12, 54, 33, 22, 44]
console.log(b); // [14, 12, 54, 33, 22]
擴展運算符還可以用來數(shù)組的排序,此排序并不是什么大小排序,而是按照每一位的首位數(shù)字進行排序的,第一位相同就看第二位,依次排列,和字典式排序相似,看下面的例子:
function orderBy(...a){
return a.sort();
}
console.log(orderBy(51,12,7,34,3)); // [12, 3, 34, 51, 7]
let arr = ['aaa','bbb','ccc'];
let arr2 = "aabbcc";
console.log(arr); // ["aaa", "bbb", "ccc"]
console.log(...arr); // aaa bbb ccc
console.log(arr2); // aabbcc
console.log(...arr2); // a a b b c c
綜上所述,...可以完成字符串和數(shù)組之間的轉(zhuǎn)換
小白:那個Rest運算符又是什么呢?
請看下面的這個例子:
function show(a,...b){
console.log(a); // 51
console.log(b); // [12, 7, 34, 3]
}
show(51,12,7,34,3);
看完了這個例子懂了吧,就是說前面的參數(shù)一一對應(yīng),后面的那個...b就代表剩下的參數(shù),因為是剩余參數(shù)所以這個剩余運算符要放在最后的位置,因此有的人又稱為剩余運算符
關(guān)于擴展運算符我們都已經(jīng)了然于心,預(yù)知數(shù)組的循環(huán)如何,請聽下回分解 (^?^)/~~~
本文的所有內(nèi)容均是一字一句敲上去的,希望大家閱讀完本文可以有所收獲,因為能力有限,掌握的知識也是不夠全面,歡迎大家提出來一起分享!謝謝O(∩_∩)O~
歡迎來我的GitHub,喜歡的可以star,項目隨意fork,支持轉(zhuǎn)載但要下標(biāo)注,同時恭候:我的博客 Resume
等一下( ?? .? ?? ),我還有最后一句話:
這里雖然沒有都市的繁華,
也沒有山林的鳥語花香,
只有一片如水的寧靜,
古人云:
既來之則安之,
既然來到了這里,
就可以靜心休憩你的靈魂,
調(diào)養(yǎng)你疲憊的心,
再見...
