Всем привет. Что-то я запутался. Всё началось с того, что я решил объединить несколько массивов в один, чтобы получать число всех массивов. Для того, чтобы - добавился новый массив с категорией - кое-что произошло.
Нужен многомерный массив или объект и его правильное создание - за этим я и здесь.
В массиве должны быть : название группы, например - fruits, ключ, например - Apple и значение ключа - ссылка куда-то в дебри интернета.
var array : {
fruits : {
Apple: 'http://...png',
Banana: 'http://...png'
},
vegetables : {
Carrot : 'http://...png',
Onion : 'http://...png'
}
};
Группы : fruits, vegetables - будут использоваться (эти ключи будут перебираться в цикле), как их число (length), так и имя.
Ключи и значения каждого массива тоже будут использоваться, поэтому количество ключей тоже нужно.
Но пока это объект, как я понимаю, он не содержит числовые индексы, поэтому свойство length недоступно. Я не могу посмотреть сколько ключей в fruits. Без заморочек. В смысле, чтобы получать его свойство length без выкрутасов, а просто : array.fruits.length.
и тут-то я запнулся, потому что не работал с такими многомерными ассоциативными объектами.
И не пойму, как же правильно создать такой объект/массив, чтобы и просто, и читабельно и как обычно получать длину?
Методом тыка я пришёл к такому варианту :
var array = {
fruits : [
['Apple', 'http://...png'],
['Banana', 'http://...png'],
['Kiwi', 'http://...png']
],
vegetables : [
['Carrot', 'http://...png'],
['Onion', 'http://...png']
]
};
Но что-то засомневался...
Потом полез в гугл, но отчаялся и вернулся сюда )
Или так ?
var array : {
fruits : {
Apple: 'http://...png',
Banana: 'http://...png'
},
vegetables : {
Carrot : 'http://...png',
Onion : 'http://...png'
}
};
Или так ?
var array = [
fruits = [
['Apple', 'http://...png'],
['Banana', 'http://...png']
],
vegetables = [
['Carrot', 'http://...png'],
['Onion', 'http://...png']
]
];
Или как-то ещё ? В общем, как правильно будет создать такую штуку ? Или проще остановиться на нескольких массивах, не объединяя их в один ? Например вот так :
var fruits = [
{
src: 'http://.png',
data : 'Apple'
},
{
src : 'https://.png',
data : 'Banana'
},
Меня интересует компактность, читабельность, доступность ключей и значений для перебора и доступ к длине массива. Чтоб кошерно было
Спасибо