如何在JavaScript中声明嵌套对象?

jef*_*eff 6 javascript nested object multidimensional-array

我正在尝试创建一个包含对象的对象,因此将其视为字典:

var dictionaries = {};
dictionaries.english_to_french =
{
 {english:"hello",french:"bonjour"},
 {english:"i want",french:"je veux"},
 {english:"bla",french:"le bla"}
};
Run Code Online (Sandbox Code Playgroud)

但它给出了错误Uncaught SyntaxError: Unexpected token { 我做错了什么?

谢谢 !

编辑

对不起,我没有澄清我想做什么.编辑了上面的代码.

Poi*_*nty 6

您尝试为对象提供属性,该属性将是单个对象:

dictionaries.english_to_french =
  {english:"hello",french:"bonjour"}
;
Run Code Online (Sandbox Code Playgroud)

你不需要额外的{ }.你可以立刻宣布整件事:

var dictionaries = {
  english_to_french: {
    english: "hello", french: "bonjour"
  }
};
Run Code Online (Sandbox Code Playgroud)

我建议你的词典更好的格式可能是:

var dictionaries = {
  english_to_french: {
    "hello": "bonjour",
    "chicken": "poulet", // ? something like that
    "Englishman": "rosbif"
  }
};
Run Code Online (Sandbox Code Playgroud)

这样你就可以直接查找单词而无需搜索.然后,您可以从中创建反向字典:

dictionaries.french_to_english = function(dict) {
  var rv = {};
  for (var eword in dict)
    rv[dict[eword]] = eword;
  return rv;
}(dictionaries.english_to_french);
Run Code Online (Sandbox Code Playgroud)