Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建具有字符串索引和循环结果的二维对象_Javascript - Fatal编程技术网

Javascript 如何创建具有字符串索引和循环结果的二维对象

Javascript 如何创建具有字符串索引和循环结果的二维对象,javascript,Javascript,我有一个语法问题。我已经浏览了数百篇关于多维对象和数组的文章,但找不到我要找的内容。我基本上需要用一堆预设来填充数据库,并且正在寻找一种方法来设置数组(或2d对象)中的预设,这样我就可以循环使用它们并将它们插入数据库 数据是对象及其附件的简单列表。i、 e: Door -> Handle Letterbox Cat Flap Hinges Lock Window -> Sill F

我有一个语法问题。我已经浏览了数百篇关于多维对象和数组的文章,但找不到我要找的内容。我基本上需要用一堆预设来填充数据库,并且正在寻找一种方法来设置数组(或2d对象)中的预设,这样我就可以循环使用它们并将它们插入数据库

数据是对象及其附件的简单列表。i、 e:

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');
    }
}
for(变量i=0;i

我的问题是,我如何将数据放入对象中,循环函数如何循环数据?

也许您可以使用对象文字

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(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
    }
}

是关于结构化数据还是关于如何访问数据(或两者)的问题?
var house=new Object()是不必要的。这是真的,但考虑到他似乎根本不知道对象文字是什么,我决定详细说明。但您只是用第二个赋值覆盖了变量的初始值。如果您想演示如何将
5
赋值给变量,您会写
var num=0;num=5?我想说的是,这比帮助更让人困惑。我试图让他明白,房子是一个物体,而不是一个阵列。考虑到
int something={1,2,3}
是Java中数组声明的表示法(我们知道人们是多么喜欢混淆),我不想让他在这里把大括号误认为数组表示法。我不知道他的背景是什么,只是想尽可能清楚地知道house实际上是什么,我不认为这有什么错。我了解校长,谢谢,但你的例子没有结果。在相关位置添加console.log(项目)和console.log(附件)确实显示了这两个项目,但没有附件。。。很抱歉,我对javascript一无所知。我的背景是php。