0

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

我不是在寻找一个明确的答案,而是在寻找一个“像我五岁一样解释”我做错了什么以及如何正确做的人。


阅读嵌套对象 编写一个表达式,输出如何用葡萄牙语打招呼:

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];

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

4

3 回答 3

0

我有这个:

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

如果您作为警报输出,console.log, document.write,无论您想如何输出:

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

为我工作。

我认为这是 udacity 的错误。

于 2019-09-20T19:39:18.740 回答
0

您忘记了拥有“葡萄牙语”属性的对象被放置在一个数组中。因此,您必须先访问该数组(在本例中为数组的第一个也是唯一一项),然后才能访问该对象的葡萄牙语属性:

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

现在您可以使用点/括号符号来访问该属性

于 2018-01-21T02:23:55.237 回答
-1

答案是

问候。你好。葡萄牙语;问候['你好']['葡萄牙语'];

于 2018-08-30T14:32:02.513 回答