我有基于本教程的气泡图.
我已使用以下代码启用了拖动气泡.这使得各个圆圈可以拖动,但拖动圆圈时其他圆圈不会自动调整.我正在使用包循环算法,请让我知道这个算法可能.
这是我的拖动代码:
// draggable
if(this.dragging){
var drag = d3.behavior.drag()
.on("drag", function( d, i) {
var selection = d3.selectAll( '.selected');
if( selection[0].indexOf( this)==-1) {
selection.classed( "selected", false);
selection = d3.select( this);
selection.classed( "selected", true);
}
selection.attr("transform", function( d, i) {
d.x += d3.event.dx;
d.y += d3.event.dy;
return "translate(" + [ d.x,d.y ] + ")"
})
// reappend dragged element as last
// so that its stays on top
this.parentNode.appendChild( this);
d3.event.sourceEvent.stopPropagation();
});
node.call( drag);
}
Run Code Online (Sandbox Code Playgroud) 我需要使用箭头函数设置数组属性之一。在我的示例代码中,我添加了随机键和箭头函数。但是当我控制台输出时,我看不到“随机”键。这可以使用箭头函数来完成。
let Allitems = {"items":[{"id":74489},{"id":64489},{"id":53489}]};
const newarr = Allitems.items.map(e => ({...e, name:"newnamme", random: (e) => { return e.id + "random"; } }));
console.log(newarr);Run Code Online (Sandbox Code Playgroud)
// expected output
{"items":[
{"id":74489,name:"newnamme", random : "74489random"},
{"id":64489,name:"newnamme", random : "64489random"},
{"id":53489,name:"newnamme", random : "53489random"}]
}
Run Code Online (Sandbox Code Playgroud) javascript arrays function arrow-functions object-destructuring