8

オブジェクトを含むオブジェクトを作成しようとしているので、辞書と考えてください。

var dictionaries = {};
dictionaries.english_to_french =
{
 {english:"hello",french:"bonjour"},
 {english:"i want",french:"je veux"},
 {english:"bla",french:"le bla"}
};

Uncaught SyntaxError: Unexpected token { しかし、それは私が間違っていることをエラーにしますか?

ありがとう !

編集

やりたいことを明確にしておらず申し訳ありません。上記のコードを編集しました。

4

2 に答える 2

8

オブジェクトにプロパティを与えようとしていますが、そのプロパティは単一のオブジェクトになります。

dictionaries.english_to_french =
  {english:"hello",french:"bonjour"}
;

余分なものは必要ありません{ }。すべてを一度に宣言できます。

var dictionaries = {
  english_to_french: {
    english: "hello", french: "bonjour"
  }
};

辞書のより良い形式は次のようになることをお勧めします。

var dictionaries = {
  english_to_french: {
    "hello": "bonjour",
    "chicken": "poulet", // ? something like that
    "Englishman": "rosbif"
  }
};

そうすれば、検索せずに単語を直接調べることができます。次に、それから逆辞書を作成できます。

dictionaries.french_to_english = function(dict) {
  var rv = {};
  for (var eword in dict)
    rv[dict[eword]] = eword;
  return rv;
}(dictionaries.english_to_french);
于 2013-07-22T00:20:34.627 に答える
0

2 つ以上のオブジェクトをネストするには、オブジェクトに属性を割り当てる必要があります。例えば、

{
    "hello":{
        "english":"hello",
        "french":"bonjour",
        "portuguese":"ola"
    },
    "good day":{...},
    "how are you":{...}
}

オブジェクトの先頭にある「hello」が属性になります。次に、オブジェクトはその値です。そのため、その属性にアクセスすることでオブジェクトにアクセスできます。オブジェクトにオブジェクトを入れるだけでは機能しません。そのため、エラーが発生しています。

于 2013-07-22T01:53:27.157 に答える