JavaScript 中的巢狀物件

Tahseen Tauseef 2023年1月30日 2022年5月11日
  1. 在 JavaScript 中建立巢狀物件
  2. Javascript 中的多重巢狀
JavaScript 中的巢狀物件

本教程文章將解釋我們如何在 JavaScript 中的另一個物件中建立多個物件。

JavaScript 物件是鍵值對的集合,巢狀物件是內部具有其他物件作為其屬性的物件。巢狀是一種廣泛使用的程式設計實踐,因為它為程式碼提供了更多增強的細節。

每個物件都有自己的屬性或鍵,用於儲存物件的詳細資訊。逗號分隔每個屬性或鍵。

讓我們來看看我們如何在 Javascript 中建立物件和屬性。

const layer0 = {
    layer1Item1: "Layer 1 Item 1 Text",
    layer1Item2: "Layer 1 Item 2 text",
    layer1Item3: "Layer 1 Item 3 Text",
    layer1Item4: "Layer 1 Item 4 text"
}

在這裡,如果你能看到,const layer0 是物件的名稱。這就是我們在 Javascript 中建立物件的方式。現在在物件中,如你所見,layer1Item1layer1Item2layer1Item3layer1Item4 是物件的屬性。這些屬性必須是獨一無二的,並且是將一個物件與另一個物件區分開來的區分因素。

現在,如果你想在另一個物件中建立一個物件,內部物件被建立為外部物件的一個​​屬性,並且這個內部物件只能使用外部物件訪問。

在 JavaScript 中建立巢狀物件

const layer0 = {

  layer1Item1: "Layer 1 Item 1 Text",
  layer1Item2: {
    layer2Item1: "Layer 2 Item 2 Text",
    layer2Item2: false    
      
  }
};

在此示例中,layer1Item2 是另一個物件內的新物件。但是,layer1Item1 是物件的屬性,而 layer1Item2 是一個物件。兩者看起來很相似,因為新建立的物件也是作為外部物件 layer0 的屬性建立的。

現在,如果你想訪問內部物件,你會寫出外部物件的名字,在一個點之後,你會寫出內部物件的名字。

layer0.layer1Item2

如果你想訪問內部物件中的某些屬性,程式碼將是:

layer0.layer1Item2.layer2Item1

Javascript 中的多重巢狀

Javascript 中的巢狀沒有限制。你可以建立 n 個層次結構。訪問物件的方法與訪問內部物件的方法相同,如前面的示例中所述。

const layer0 = {

  layer1Item1: "Layer 1 Item 1 Text",
  layer1Item2: {
    layer2Item1: "Layer 2 Item 2 Text",
    layer2Item2: false,    
    layer2Item3: {
      layer3Item1: "Layer 3 Item 2 Text"
    }
  }
};

在此示例中,建立了 3 個物件,layer0layer1layer2layer2 物件位於 layer1 內,而 layer1 位於 layer0 內。本示例中有 3 個層或層次結構。現在,layer2 被寫成 layer1 的一個屬性。

要訪問 layer2 的屬性,我們將編寫以下程式碼。

layer0.layer1Item2.layer2Item1.layer3Item1

現在,要在以下程式碼中向物件新增新屬性:

let  layer0 = {
    layer1Item1: "Layer 1 Item 1 Text",
    layer1Item2: "Layer 1 Item 2 text",
    layer1Item3: "Layer 1 Item 3 Text",
    layer1Item4: "Layer 1 Item 4 text"
}

我們將簡單地將物件名稱與物件屬性附加一個點,併為其分配一個如下所示的值:

layer0.layer1Item5 = "New Item created";

現在生成的物件將如下所示:

 {
  layer1Item1: "Layer 1 Item 1 Text",
  layer1Item2: "Layer 1 Item 2 text",
  layer1Item3: "Layer 1 Item 3 Text",
  layer1Item4: "Layer 1 Item 4 text",
  layer1Item5: "New Item Created" 
}

如果要從物件中刪除任何屬性,這很容易理解。我們將 delete 關鍵字與附加在物件屬性上的物件名稱一起使用,並用要刪除的點分隔。看下面的例子:

考慮我們有以下物件。

let  layer0 = {
layer1Item1: "Layer 1 Item 1 Text",
layer1Item2: "Layer 1 Item 2 text",
layer1Item3: "Layer 1 Item 3 Text",
layer1Item4: "Layer 1 Item 4 text"
}

我們要刪除 layer1Item4 屬性;我們將編寫以下程式碼。

delete layer0.layer1Item4;

現在物件將如下所示。

{
  layer1Item1: "Layer 1 Item 1 Text",
  layer1Item2: "Layer 1 Item 2 text",
  layer1Item3: "Layer 1 Item 3 Text",
}

相關文章 - JavaScript Object