我需要在对象内的数组内提取一个javascript对象。 “节点”和“链接”都是位于称为“图形”的javascript对象中的数组。
直到最近,代码一直运行良好,我不知道为什么。 下面的代码在Firefox中引发错误,提示未定义nodeSource。
基于关联节点分配边名称的功能:
function def_edge_name(graph) {
$.each(graph["links"], function(index, value) {
var idSource = value["source"];
var idTarget = value["target"];
// extracting corresponding nodes
var nodeSource = graph["nodes"][idSource];
var nodeTarget = graph["nodes"][idTarget];
// name definition
var name = nodeSource["name"] + '–' + nodeTarget["name"];
// add to object
value["name"] = name;
});
}
图结构:
{…}
directed: false
graph: Object { reqId: 9213636161211742000, villes: (1) […], date: (1) […] }
links: Array(31) [ {…}, {…}, {…}, … ]
multigraph: false
nodes: (32) […]
0: {…}
average_neighbor_degree: 31
id: "273"
lat: "19.05"
lon: "-104.3333"
name: "Manzanillo(MEX)"
x: 0.8919986305871528
y: 0.42029038000307156
目标是根据源/目标节点的名称为图的边缘分配名称。 “节点”和“链接”之间的链接是节点的“ id”。