动态创建JavaScript对象客户端

动态创建JavaScript对象客户端,javascript,json,object,dynamic,Javascript,Json,Object,Dynamic,我需要动态创建下面的JavaScript对象,但它太复杂了 var data = { "nodes":[ {"id":"n1", "loaded":true, "style":{"label":"Node1"}}, {"id":"n2", "loaded":true, "style":{"label":"Node2"}}, {"id":"n3", "loaded":true, "style":{"label":"Node3"}} ]

我需要动态创建下面的JavaScript对象,但它太复杂了

var data = {
    "nodes":[
        {"id":"n1", "loaded":true, "style":{"label":"Node1"}},
        {"id":"n2", "loaded":true, "style":{"label":"Node2"}},
        {"id":"n3", "loaded":true, "style":{"label":"Node3"}}
    ],
     "links":[
        {"id":"l1","from":"n1", "to":"n2", "style":{"fillColor":"red", "toDecoration":"arrow"}},
        {"id":"l2","from":"n2", "to":"n3", "style":{"fillColor":"green", "toDecoration":"arrow"}},
        {"id":"l3","from":"n3", "to":"n1", "style":{"fillColor":"blue", "toDecoration":"arrow"}}
    ]
};
这是一个动态的东西,因为我需要动态地更改id的值,有时我需要添加更多的节点和链接,如下所示

var data = {
    "nodes":[
        {"id":"n1", "loaded":true, "style":{"label":"Node1"}},
        {"id":"n2", "loaded":true, "style":{"label":"Node2"}},
        {"id":"n3", "loaded":true, "style":{"label":"Node3"}},
        {"id":"n3", "loaded":true, "style":{"label":"Node3"}},
    ],
     "links":[
        {"id":"l1","from":"n1", "to":"n2", "style":{"fillColor":"red", "toDecoration":"arrow"}},
        {"id":"l2","from":"n2", "to":"n3", "style":{"fillColor":"green", "toDecoration":"arrow"}},
        {"id":"l3","from":"n3", "to":"n1", "style":{"fillColor":"blue", "toDecoration":"arrow"}}
        {"id":"l3","from":"n3", "to":"n1", "style":{"fillColor":"blue", "toDecoration":"arrow"}}
        {"id":"l3","from":"n3", "to":"n1", "style":{"fillColor":"blue", "toDecoration":"arrow"}}
    ]
};
我想使用JavaScript创建它

var data = {};
and data.nodes = ?;
and data.links = ?;
不喜欢添加特定的

我的问题是我怎样才能创造

{"id":"n1", "loaded":true, "style":{"label":"Node1"}},

使用JavaScript,我希望更改
id
loaded
的值,并将其放入节点信息中,每次我有不同数量的节点和链接。

如果要添加到数组中:

var x = {"id":"n3", "loaded":true, "style":{"label":"Node3"}}; //the thing you want to add
data.nodes.push(x);

您可以使用以下函数:

function makeNode(n, loaded) {
    return {
        id: 'n' + n, 
        loaded: loaded || false, 
        style: { label: 'Node' + n }
    };
}
data.nodes.push(makeNode(1));
data.nodes.push(makeNode(2,false));
data.nodes.push(makeNode(3,true));
//data.nodes
[
{id:'n1',加载:false,样式:{label:'Node1'},
{id:'n2',loaded:false,style:{label:'Node2'},
{id:'n3',loaded:true,style:{label:'Node3'}
]

谢谢您的回复。我不需要添加信息。我需要更改id并加载动态。。。