将函数分配给 var 不起作用。价值仍然'undefined'



我从一段时间起就在为这个问题而苦苦挣扎。我是 javascript 中的新手,所以我仍然不了解一些事情。我创建了功能 linkBuilder 从JSON文件中提取一些数据。我测试了 parseline ,并且有效。

links=[];
let linkBuilder = function(){
  d3.text('prova2utenti.json',function(err,data){
  if (err) throw err;
  var elements = data.split('n');
  for (var i=0, l=elements.length; i<l; i++){
    links.concat(parseLine(elements[i]));
    console.log(links);
  }
  });
}

问题是,当我尝试使用此代码创建图形的链接时:

links.forEach(function(link) {
  link.source = nodes[link.source] || (nodes[link.source] = {name: link.source});
  link.target = nodes[link.target] || (nodes[link.target] = {name: link.target});
});

我的网页上没有显示任何内容,就像var 链接从未初始化。我想这是因为提起,但我不确定,无论如何我都不知道该如何解决。任何帮助都非常感谢。

好的,我能够解决这个问题。就像@gerardofurtado所建议的那样,我将所有逻辑都放在 dodicated 函数中绘制图形。然后只需在d3.text中调用该功能,然后将其完成。我有还有concat()函数的另一个问题。它创建新数组每次都调用而不是添加到同一。我使用push()方法解决了。

相关内容

最新更新