如何使用字符串索引创建二维对象并循环结果

时间:2013-01-24 16:57:51

标签: javascript

我有语法问题。我一直在浏览数百篇关于多维对象和数组的帖子,但找不到我想要的东西。我基本上需要用一堆预设来填充数据库,并且正在寻找一种方法来在数组(或2d对象)中设置它们,这样我就可以遍历它们并将它们插入到数据库中。

数据是一个简单的对象及其附件列表。即:

Door ->   Handle
          Letterbox
          Cat Flap
          Hinges
          Lock
Window -> Sill
          Frame
          Lock
          Handle

然后我想要一个像这样的函数(其中“items”是包含所有数据的对象)循环结果并插入项目和附件:

for (var i = 0; i < items.length; i++) {
    var item = items[i];
    insertItem(item,'','Object');

    for (var b = 0; b < item.length; b++) {
        var accessory = item[b];
        insertItem(item,accessory,'Accessory');
    }
}

我的问题是,如何将我的数据放入一个对象中,我的循环函数是否可以循环访问数据?

1 个答案:

答案 0 :(得分:0)

也许你可以使用对象文字?

var house = new Object();
    house = {
        "door" : {
            "handle" : true,
            "letterbox" : true,
            "catFlap" : true,
            "hinges" : true,
            "lock" : true
        },
        "window" : {
            "sill" : true,
            "frame" : true,
            "lock" : true,
            "handle" : true
        }
    };

然后您可以使用for...in循环

访问它
for(var item in house){
    for(var accessory in house[item]){
        if(house[item][accessory]){ //announce what was found
            alert(accessory); 
        }
        house[item][accessory] = false; //take accessory away
        house[item].newAccessory = true; //Add an accessory
    }
}