0
我有一個典型的節點鏈接圖用於節點鏈路A良好性能算法 所述節點和所述連桿是與結構JSON對象像 節點在這種特定情況下
id:
type:....
鏈接
from: (nodeid)
to: (nodeid)
type:....
我當前的實現需要提供一個nodeid時,獲取即時關係並將其寫入表(使用DataTable庫的表) 我做了以下操作:
//Building array of links that are related to that nodeid
function setSelectedNodeLinks(node, links) {
self.selectedNodeLinks = [];
for (var i = 0; i < links.length; ++i) {
if (node.id === links[i].nodeEndIdEntity ||node.id === links[i].nodeStartIdEntity)
self.selectedNodeLinks.push(links[i]);
}}
然後
function updateEntitiesTable(selectedId) {
var table = $("#TableGraphEntities").DataTable();
for (var i = 0; i < table.rows()[0].length; i++) {
var update = table.row(i).data();
update._entityRelation = "";
for (var r = 0; r < self.selectedNodeLinks.length; r++) {
if (table.row(i).data().entityId !== selectedId) {
if (table.row(i).data().entityId === self.selectedNodeLinks[r].nodeStartIdEntity || table.row(i).data().entityId === self.selectedNodeLinks[r].nodeEndIdEntity) {
update._entityRelation = self.selectedNodeLinks[r].relationType[0];
break;
}
} else {
break;
}
}
//table.row(i).data(update);
}
console.log("Done building table");
}
但最終的結果,具有500個節點的情況下,是很慢(3,4-秒)。我怎樣才能優化這個?