Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图通过X&;数组进行索引;D3阻力的Y值_Javascript_Json_Indexing_D3.js - Fatal编程技术网

Javascript 试图通过X&;数组进行索引;D3阻力的Y值

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请求调用一组json数据。我目前遇到的问题是试图在该请求中对我的数据数组进行索引。目前我只能获得阵列的第一个x&y。因此,它会影响我的D3拖动,因为每次我拖动一个新对象时,它会跳回到鼠标单击的前一个位置。下面是一个片段:

     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+")"\
我相信就是这样。如果有人有别的解决办法,我愿意倾听