簡體   English   中英

擴展運算符在這個 javascript 代碼中的作用是什么?

[英]What is the role of the spread operator in this javascript code?

今天在medium上看了這篇文章,對下面的spread算子不太了解。

在此處輸入圖像描述

我知道擴展運算符用於接收數組作為 function 中的參數。 在上面的代碼中,展開運算符是做什么的? 將 object 轉換為數組?

我知道擴展運算符用於接收數組作為 function 中的參數

在這種情況下,三個點...被稱為rest parameters syntax ,而不是spread syntax 在您問題中包含的代碼中,使用三個點...的上下文稱為spread syntax

在上面的代碼中,展開運算符是做什么的?

它遍歷Set並將Set中的條目傳播(添加)到一個新數組中

以下代碼片段顯示了一個簡單的示例:

 const set = new Set([1,2,3]); const newArr = [...set]; console.log(newArr);

擴展運算符結合數組語法 ( [] ) 從 Set 中獲取值,並且由於缺乏更好的術語,將它們展開,因此您得到一個包含 Set 中所有值的數組。 最終結果是將一個數組轉換為另一個數組,該數組包含原始數組中的唯一值。

讓我們逐行看。

var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]

這將創建一個包含一些數字列表的數組entries

現在,當我們這樣做時, new Set(entries) ,我們從entries數組創建一個Set Set是您可能已經知道的不同元素的集合。

因此, new Set(entries)為我們提供了一個來自entriesSet ,如下所示: Set(8) {1, 2, 3, 4, 5, …}

現在, ...運算符傳播Set中的不同元素以創建一個數組,即行 - var unique_entries = [...new Set(entries)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM