многомерный массив javascript

1

Я пытаюсь создать многомерную arrya в javascript, где я могу добавлять элементы следующим образом:

var foo = {
    "Internal": {
        "0":
        {
            "pic_id":"15011",
            "description":"Picture of a cpu",
            "localion":"img.cloudimages.us/2012/06/02/mycpu.png",
            "type":"png"
        },
            "1":{
            "pic_id":"15011",
            "description":"Picture of a cpu",
            "localion":"img.cloudimages.us/2012/06/02/mycpu.png",
            "type":"png"
        }
    },
    "External": 
    {
        "0":
        {
            "pic_id":"15014",
            "description":"Picture of a cpu",
            "localion":"img.cloudimages.us/2012/06/02/mycpu.png",
            "type":"png"
        }
    }
};

но я не знаю, как получить мою ценность в основной категории. Я получил следующий код

vm.classificationNames = [,];

  for (var i = 0; i < vm.classificationNames.length; i++) {

                    vm.allGroupsInClassifications.push(vm.classificationNames[i]);
                }

            for (var i = 0; i < data.length; i++) {
                var item = data[i];

                if (item.classification != null) {

                } else if (item.classification == null) {

                   vm.classificationNames['Internal'][item];
                }
            }

            console.log(vm.classificationNames);

Я также попытался использовать следующее без везения:

 vm.classificationNames['Internal'].push(item);

Кто-нибудь знает, что я буду делать неправильно? Спасибо за помощь заранее.

Теги:

2 ответа

4

Это потому, что это объект, а не массив. Измените свой внутренний объект на массив, и push будет работать

var foo = {
    "Internal": [   // <--- Note the square braces
        {
            "pic_id": "15011",
            "description": "Picture of a cpu",
            "localion": "img.cloudimages.us/2012/06/02/mycpu.png",
            "type": "png"
        },
        {
            "pic_id": "15011",
            "description": "Picture of a cpu",
            "localion": "img.cloudimages.us/2012/06/02/mycpu.png",
            "type": "png"
        }
    ],   // <--- Note the square braces
    "External": [   // <--- Note the square braces
        {
            "pic_id": "15014",
            "description": "Picture of a cpu",
            "localion": "img.cloudimages.us/2012/06/02/mycpu.png",
            "type": "png"
        }
    ]   // <--- Note the square braces
};

foo['Internal'].push(item);
0

Попробуйте выполнить итерацию по словарю с помощью

for(var key in vm.classificationNames) {
   var entry = vm.classificationNames[entry];
   /*....*/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню