读取嵌套对象,javascript。 (重复)

时间:2018-01-20 23:55:36

标签: javascript nested nest-nested-object

这是我目前的学习课程。我尝试了几个答案似乎都失败了。我使用了点符号和括号表示法。甚至试图将它们混合起来。试过console.log()他们。尝试了一段时间。我在这里和MDV上查了几个关于点/括号表示法的页面。要么是注册表错误,要么我还在做错事。

我不是在寻找一个平坦的答案,就像我正在寻找一个像我五岁那样解释的人一样。"我做错了什么以及如何正确地做到这一点。

读取嵌套对象 写一个表达式,输出如何用葡萄牙语发音hello:

2

这些是我认为正确的,但它们是不被接受的。

3 个答案:

答案 0 :(得分:0)

您忘记了保存“portuguese”属性的对象位于数组中。因此,在访问对象上的portuguese属性之前,必须先访问数组(在本例中是数组的第一个也是唯一一个项目):

const greetings = {
  hello: [{
    english: 'hi',
    french: 'bonjour',
    portuguese: 'oi'
  }],
  goodbye: [{
    english: 'bye',
    french: 'au revoir',
    portuguese: 'tchau'
  }]
};

console.log(greetings.hello[0].portuguese); // hello

console.log(greetings.goodbye[0]['portuguese']); // goodbye

现在您可以使用点/括号表示法来访问属性

答案 1 :(得分:0)

我有一个:

const greetings = {
  hello: {
    english: 'hi',
    french: 'bonjour',
    portuguese: 'oi'
  },
  goodbye: {
    english: 'bye',
    french: 'au revoir',
    portuguese: 'tchau'
  }
};

如果您将console.logdocument.write作为警报输出,则无论您要如何执行输出:

alert(greetings.hello.portuguese);
console.log(greetings.hello.portuguese);

为我工作。

我认为这是大胆的错误。

答案 2 :(得分:-1)

答案是

greetings.hello.portuguese; Greetings ['hello'] ['portuguese'];