我的地图定义如下,然后将所有节点添加到地图中。
var map = {}
nodes.forEach(function(d, i) {
map[d.id] = i;
})
在代码段中,按下del
按钮可通过调用GW
函数来删除节点del
。
我能够从节点中删除条目,但不确定如何从地图中删除条目。
这与我的D3.js SO post
有关我不使用var map1 = new Map();
,否则我认为以下方法可行。
map.delete(d);
<button id="del" onclick="del('GW')">del </button>
<script>
var nodes = [{
id: "FH",
x: 100,
y: 110
},
{
id: "TP",
x: 200,
y: 110
},
{
id: "GW",
x: 200,
y: 110
},
{
id: "DB",
x: 100,
y: 110
}
]
var map = {}
nodes.forEach(function(d, i) {
map[d.id] = i;
})
function del(n) {
var i = map[n];
mousedownNode2(nodes[i], i);
}
function mousedownNode2(d, i) {
nodes.splice(i, 1);
console.log(map);
console.log(nodes);
}
</script>