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