Javascript 试图通过X&;数组进行索引;D3阻力的Y值
您好,我目前正在使用内置的D3 json请求调用一组json数据。我目前遇到的问题是试图在该请求中对我的数据数组进行索引。目前我只能获得阵列的第一个x&y。因此,它会影响我的D3拖动,因为每次我拖动一个新对象时,它会跳回到鼠标单击的前一个位置。下面是一个片段:Javascript 试图通过X&;数组进行索引;D3阻力的Y值,javascript,json,indexing,d3.js,Javascript,Json,Indexing,D3.js,您好,我目前正在使用内置的D3 json请求调用一组json数据。我目前遇到的问题是试图在该请求中对我的数据数组进行索引。目前我只能获得阵列的第一个x&y。因此,它会影响我的D3拖动,因为每次我拖动一个新对象时,它会跳回到鼠标单击的前一个位置。下面是一个片段: d3.json("url/path", function(data) { var drag = d3.behavior.drag() .origin(Object)
d3.json("url/path", function(data) {
var drag = d3.behavior.drag()
.origin(Object)
.on("drag", function(d,i) {
data.locations[0].x += d3.event.dx;
data.locations[0].y += d3.event.dy;
d3.select(this).attr("transform", "translate("+data.locations[0].x+","+data.locations[0].y+")")
});
.attr("transform", function(d,i) {return "translate("+data.locations[0].x+","+data.locations[0].y+")" ;})
});
但是,如果我试图索引位置的全部数据,例如
"translate("+data[i].locations[0].x+","+data[i].locations[0].y+")"
我收到一个错误“UncaughtTypeError:无法读取未定义的属性'locations'”
我当前的json数据结构如下:
{
"section":"a",
"room":"b",
"locations":[
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
}
]
}
因此,我的查询是如何通过嵌套数据建立索引,以便它读取所有的x&y值,而不仅仅是一个&这将影响我的拖动行为
非常感谢您的帮助
谢谢找到了解决方案。很简单!不知道为什么我以前没有想到它
"translate("+data.locations[i].x+","+data.locations[i].y+")"\
我相信就是这样。如果有人有别的解决办法,我愿意倾听