JavaScript 中的嵌套对象

Tahseen Tauseef 2023年10月12日
  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