Cytoscape JS-从内存中删除集合中的节点

时间:2019-07-15 10:14:04

标签: javascript cytoscape.js cytoscape

需要使用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);
                  })
                }
              }
            }

1 个答案:

答案 0 :(得分:0)

请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management

您所能控制的就是垃圾回收器是否可以删除引用。