D3/Javascript代码难题?

D3/Javascript代码难题?,javascript,d3.js,Javascript,D3.js,我有以下代码: d3.csv("flights-airport_3.csv", function(flights) { var linksByOrigin = {}, countByAirport = {}, cancelledByAirport = {}, locationByAirport = {}, positions = []; var arc = d3.geo.greatArc() .source(function(d) { return locationByA

我有以下代码:

d3.csv("flights-airport_3.csv", function(flights) {

var linksByOrigin = {},
  countByAirport = {},
  cancelledByAirport = {},
  locationByAirport = {},
  positions = [];

var arc = d3.geo.greatArc()
  .source(function(d) { return locationByAirport[d.source]; })
  .target(function(d) { return locationByAirport[d.target]; });

flights.forEach(function(flight) {
var origin = flight.origin,
    destination = flight.destination,
    count_airport = flight.count,
    cancelledByAirport = flight.count_cancelled,
    links = linksByOrigin[origin] || (linksByOrigin[origin] = []);
links.push({source: origin, target: destination});
我的航班数据数组如下所示:

0:对象 "": "" 计数:“9” 已取消计数:“0” 目的地:“IAD” 来源:“ALB”


不知什么原因,我被取消的机场是空的?我不知道为什么,因为我把它和countByAirport变量完全一样。有人能帮忙吗

我认为你的问题在于你有两个变量,叫做“CanceledByAirport”。其中一个在d3.csv(…)下面声明,另一个在foreach()中声明

解决办法是给这些变量起不同的名字,或者去掉其中一个


请检查与这两个变量相关的代码,并告诉我们您发现了什么。

是!你是对的!这正是发生的事情。