从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()