需要使用cytoscape js从内存中删除一个集合。我的用例是我试图预过滤大图,以便在呈现可视化效果之前,我可以减少呈现的数据量。到目前为止,我的代码是这样的。该文档明确指出cy.remove不会从内存中删除。我曾尝试cy.removeData(element_del)
甚至是element_del.forEach
删除数据,以使这些项目消失但没有运气。
var preFilter = "nodeIWantToStartFrom"
// If the prefilter variable exists with a valid field
if (preFilter) {
if (preFilter.length > 0) {
// Search for the node in a prebuilt dictionary
if (nodesByName[preFilter].id) {
node_id = "#" + nodesByName[preFilter].id;
highlightCollection = cy.collection(cy.elements().bfs(node_id, 1, directedPathFind).path);
var element_del = cy.elements().not(cy.$(highlightCollection));
// Remove elements
cy.remove(element_del);
})
}
}
}
答案 0 :(得分:0)
请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
您所能控制的就是垃圾回收器是否可以删除引用。