在javascript中创建具有自定义结构的对象

在javascript中创建具有自定义结构的对象,javascript,Javascript,我需要创建一个具有以下精确结构的数组对象: {"item1": { 0 : { color:"description1", width:"description2", height:"description3" } 1 : { color:"description1", width:"description2", height:"description3" }

我需要创建一个具有以下精确结构的数组对象:

{"item1": {
    0 :  {
        color:"description1",
        width:"description2",
        height:"description3"
    }
    1 :  {
        color:"description1",
        width:"description2",
        height:"description3"
    }
    //and so on
},
"item2": {
    0 :  {
        color:"description1",
        width:"description2",
        height:"description3"
    }
    //and so on
}
//and so on
}
他工作得很好。现在,我想以友好的方式来做。所以,主要的问题是。。。如何在构建对象的同时循环数据? 这是我工作的传入对象的一个示例:

[
{
    "uid": 1,
    "legendname": "item1",
    "rows": [
        {
            "uid": 0,
            "color": "482400",
            "width": "482400",
            "height": "25"
        },
        {
            "uid": 1,
            "color": "587898",
            "width": "789658",
            "height": "30"
        }
    ]
}
{
    "uid": 2,
    "legendname": "item2",
    "rows": [
        {
            "uid": 0,
            "color": "482400",
            "width": "482400",
            "height": "25"
        }
    ]
}
]
如何在构建对象的同时循环数据

不清楚。但是,如果要基于传入结构创建新结构,可以使用以下方法:

// ar = your incoming object
// b_obj = your result

var b_obj = {}
for (var i = 0; i < ar.length; i++)
{
    item = ar[i];
    b_item = {};
    for (var i_row = 0; i_row < item.rows.length; i_row++)
    {
        var row = {};
        row.color = item.rows[i_row].color;
        row.width = item.rows[i_row].width;
        row.height = item.rows[i_row].height;
        b_item[i_row] = row;
    }
    b_obj[item.legendname] = b_item;
}
//ar=您的传入对象
//b_obj=您的结果
var b_obj={}
对于(变量i=0;i
我尝试了一些东西,但似乎我并不完全清楚您想要实现什么。介意详细说明吗?埃里克,谢谢你的支持。下面donkeydown给出的答案对我很有用。我想创建一个具有精确结构的对象(我在帖子中展示的)。我循环数据并用我的对象结构创建了一个字符串。但是数据类型是字符串,我需要一个对象类型才能在应用程序中运行。我不知道怎么做,但现在已经解决了。如果这是答案,你应该批准它。或者至少给一个+1。@user2932685+1转到答案,而不是评论。这会增加声誉分数。donkeydown,这是我尝试做的第一件事,但我是这个论坛的新手,我的声誉低于15,所以我现在不能按+1键,这很不重要。如果我获得+15声誉,我会回到这篇文章,给你你应得的+1。