动态创建JavaScript对象客户端
我需要动态创建下面的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"}} ]
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并加载动态。。。