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

问题描述 投票:0回答:2

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

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


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

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

greetings.hello.portuguese;

greetings['hello']['portuguese'];

greetings['hello'][2];

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

javascript nested nest-nested-object
2个回答
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
投票

答案是

greetings.hello.portuguese;问候[ '你好'] [ '葡萄牙语'];

© www.soinside.com 2019 - 2024. All rights reserved.