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