Определить ассоциативный массив массивов
Я хочу определить ассоциативный массив, подобный этому
var theVar = [
{ "100", [0, 1, 2] },
{ "101", [3, 4, 5] }
]
По существу, я хочу иметь доступ к массиву из трех чисел, указав пользовательский индекс.
Однако, что бы я ни старался, я не могу заставить его работать.
Я знаю, что могу определить его как:
theVar["100"] = [0, 1, 2];
theVar["101"] = [1, 2, 3];
Но я устанавливаю это где-то еще, и я предпочел бы установить его в одном выражении.
Ответы
Ответ 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