从javascript映射中删除节点
我有一个定义如下的映射,然后我将所有节点添加到映射中从javascript映射中删除节点,javascript,d3.js,Javascript,D3.js,我有一个定义如下的映射,然后我将所有节点添加到映射中 var map = {} nodes.forEach(function(d, i) { map[d.id] = i; }) 在代码段中,按下del按钮可通过调用del函数删除节点GW。 我可以从节点中删除条目,但不确定如何从映射中删除它 这与我的工作有关 我没有使用var map1=new Map()否则,我认为下面的方法会起作用 map.delete(d); del 变量节点=[{ id:“FH”, x:100, y:110 },
var map = {}
nodes.forEach(function(d, i) {
map[d.id] = i;
})
在代码段中,按下del
按钮可通过调用del
函数删除节点GW
。
我可以从节点中删除条目,但不确定如何从映射中删除它
这与我的工作有关
我没有使用var map1=new Map()代码>否则,我认为下面的方法会起作用
map.delete(d);
del
变量节点=[{
id:“FH”,
x:100,
y:110
},
{
id:“TP”,
x:200,
y:110
},
{
id:“GW”,
x:200,
y:110
},
{
id:“DB”,
x:100,
y:110
}
]
变量映射={}
forEach(函数(d,i){
map[d.id]=i;
})
函数del(n){
var i=映射[n];
mousedownNode2(节点[i],i);
}
函数mousedownNode2(d,i){
节点。拼接(i,1);
控制台日志(map);
console.log(节点);
}
删除地图[d.id]
?谢谢@KoshVery,删除地图[n]代码>工作了一顿款待。map={}
是否有特定的名称?我认为映射实际上是var map1=newmap()
map={}
是map=newobject()的缩写
不适用于newmap()
@nyi如上所述,您使用的是对象,而不是贴图。你可以使用一个真实的地图,这是更快的迭代。此外,还可以使用D3映射:var-map=D3.map()
。