Подтвердить что ты не робот

Определить ассоциативный массив массивов

Я хочу определить ассоциативный массив, подобный этому

var theVar = [
  { "100", [0, 1, 2] },
  { "101", [3, 4, 5] }
]

По существу, я хочу иметь доступ к массиву из трех чисел, указав пользовательский индекс.

Однако, что бы я ни старался, я не могу заставить его работать.

Я знаю, что могу определить его как:

theVar["100"] = [0, 1, 2];
theVar["101"] = [1, 2, 3];

Но я устанавливаю это где-то еще, и я предпочел бы установить его в одном выражении.

4b9b3361

Ответ 1

theVar = {
  "100": [0, 1, 2],
  "101": [3, 4, 5]
}

может сделать трюк. Затем вы можете получить доступ, используя theVar["101"] (или theVar[101], если на то пошло).

(As var также ключевое слово в JavaScript, использование его как имени переменной, скорее всего, вызовет проблемы.)

Ответ 2

Посмотрите на синтаксис JSON, я думаю, что это может вдохновить на построение ваших структур данных таким образом, который будет гибкий, правильный и сложный, как вы хотите.

Эта страница содержит много информации и примеров, которые вам полезны.

Например, посмотрите на это:

var employees = { "accounting" : [   // accounting is an array in employees.
                                    { "firstName" : "John",  // First element
                                      "lastName"  : "Doe",
                                      "age"       : 23 },

                                    { "firstName" : "Mary",  // Second Element
                                      "lastName"  : "Smith",
                                      "age"       : 32 }
                                  ], // End "accounting" array.                                  
                  "sales"       : [ // Sales is another array in employees.
                                    { "firstName" : "Sally", // First Element
                                      "lastName"  : "Green",
                                      "age"       : 27 },

                                    { "firstName" : "Jim",   // Second Element
                                      "lastName"  : "Galley",
                                      "age"       : 41 }
                                  ] // End "sales" Array.
                } // End Employees