更新時間:2023-08-23 來源:黑馬程序員 瀏覽量:
擴展運算符和剩余參數(shù)的作用是相反的,擴展運算符可以將數(shù)組或對象轉換為用逗號分隔的參數(shù)序列。擴展運算符服3個點“…”表示。下面介紹擴展運算符的使用方法進行詳細講解。
擴展運算符的語法
下面通過代碼演示擴展運算符在數(shù)組中的使用,示例代碼如下:
<script> let ary = [1, 2, 3]; //...ary相當于1,2,3 //輸出結果:123 console.log(..ary); // 等價于 console.log(1, 2, 3); //輸出結果:1 2 3 </script>
上述代碼中,第2行代碼使用let關鍵字聲明了一個ary數(shù)組,數(shù)組中有3個值,分別為1、2、3。第4行代碼在數(shù)組變量名ary的前面添加3個點“…”,表示將數(shù)組元素拆分成以逗號分隔的參數(shù)序列。console.log0方法可以接收多個參數(shù),多個參數(shù)以逗號分隔,表示一次輸出多個內(nèi)容。
使用擴展運算符將ary數(shù)組拆分成以逗號分隔的參數(shù)序列后,又將參數(shù)序列放在了console.log()方法中,此時參數(shù)序列中的號會被當成console.log0方法的參數(shù)分隔符,所以輸出結果中沒有逗號。
利用擴展運算符合并數(shù)組
擴展運算符可以用于合并數(shù)組,通常有以下兩種方法,下面分別進行講解。首先演示合并數(shù)組的第l種方法,示例代碼如下:
<script> let aryl = [1, 2, 3]; let ary2 = [4, 5, 6]; // …aryl // 表示將ary1數(shù)組拆分成1,2,3 // …ary2 // 表示將ary2數(shù)組拆分成4,5,6 let ary3 - (… hmyl, …ary2); console.log(ary3); // 輸出結果:(6)[1,2,3,4,5,6] </script>
上述代碼中,第2行代碼使用let關鍵字聲明了一個aryl數(shù)組,數(shù)組中有3個值,分別為1、2、3。第3行代碼聲明了一個arny2數(shù)組,其中有3個值,分別為4、5、6。第6行代碼聲明了一個ary3數(shù)組,其中存儲了aryl和ary2的參數(shù)序列,這樣ary3數(shù)組中就包括aryl數(shù)組和ary2數(shù)組中的值。第7行代碼使用console.log()方法在控制臺中查看輸出結果。
下面通過代碼演示合并數(shù)組的第2種方法,示例代碼如下。
<script> let aryl = [1, 2, 3]; let ary2 = [4, 5, 6]; aryl.push(...ary2); console log (ary1); //輸出結果:(6)[1,2,3,4,5,6] </script>
上述代碼中,第4行代碼的push0方法用于將元素追加到數(shù)組中,這個方法可以接收多個參數(shù),并且可以一次將多個參數(shù)追加到數(shù)組中,參數(shù)之間用逗號進行分隔。因為不能將ary2數(shù)組本身傳遞給push0方法,所以可以使用擴展運算符將ary2數(shù)組中的元素拆分成以逗號分隔的參數(shù)序列,然后將參數(shù)序列直接放到push0方法中,也就是使用aryL.push(.ary2)方法將ary2數(shù)組中的元素追加到aryl數(shù)組中,實現(xiàn)數(shù)組的合并。