我正在导入一些数据,我想在导入它们的函数之外使用这些数据。我尝试按照此答案(response1,response2,response3,response4)和其他人的说明进行操作,但我仍然无法理解如何操作。在我最成功的尝试中,我尝试了1)创建一个全局变量,2)让函数返回数据本身(第二次尝试嵌入在下面的代码中,但注释掉了)。但是我仍然无法访问导入它们的函数范围之外的数据。任何帮助将不胜感激。下面是包含尝试和返回值的代码。非常感谢你!
var dataset; // a global
d3.json("data.php", function(error, jsonData) {
//var dataset = d3.json("data.php", function(error, jsonData) {
if (error) return console.warn(error);
jsonData.forEach(function (d) {
d['id'] = d['id'];
d['transaction_id'] = +d['transaction_id'];
d['ddmmyy'] = d3.time.format("%Y-%m-%d").parse(d['ddmmyy']);
d['amount'] = +d['amount'];
}) // end: dataset.forEach
dataset = jsonData;
// return jsonData;
}); // end: d3.json
// return values for attempt 1 with var dataset; (...)
console.log(dataset[0]); // returns: TypeError: dataset is undefined
var expensesByName = d3.nest()
.key(function(d) { return d['transaction_id']; })
.entries(dataset);
// typing expensesByName on console returns: undefined
// return values for attempt 2 with: var dataset = d3.json(...)
//console.log(dataset[0]); // returns: undefined
// var expensesByName = d3.nest()
// .key(function(d) { return d['transaction_id']; })
// .entries(dataset);
// typing expensesByName on console returns: empty array