Javascript 将变量传递给d3.json

Javascript 将变量传递给d3.json,javascript,json,d3.js,Javascript,Json,D3.js,我有点疯了 我使用d3.json在循环中获取一些数据,但我需要将一个变量传递到d3.json中,它恰好是nodes.name项的索引。我正在尝试建立nodes.links数据 如何传入该变量。循环运行得太快,无法启动 像这样的 for (i=0; i < length; i++;) { var foo = nodes.name[i].index; // Imagine foo is updated every time the loop runs d3.json(blah, funct

我有点疯了

我使用d3.json在循环中获取一些数据,但我需要将一个变量传递到d3.json中,它恰好是nodes.name项的索引。我正在尝试建立nodes.links数据

如何传入该变量。循环运行得太快,无法启动

像这样的

for (i=0; i < length; i++;) {

var foo = nodes.name[i].index; // Imagine foo is updated every time the loop runs

d3.json(blah, function(error, data) {
  console.log(foo); //logs nodes.name[i].index value when passed; 
});
}
(i=0;i{ var foo=nodes.name[i].index;//假设每次循环运行时都会更新foo json(blah,函数(错误,数据){ console.log(foo);//logs nodes.name[i]。传递时的索引值; }); }
不知道你的意思。你只需在回调中引用
i
。循环运行得太快,因此foo已更改为循环中的最后一项。因此,如果是i,长度为3,我每次看到时只会看到3。你可以把它包装成一个函数:
functionbar(foo){d3.json(blah,function(error,data){…};}
Ah好主意。我试试看。不知道为什么我没想到。