const disorders=[];
const arr = [1,2,3,4,5];
d3.csv("https://gist.githubusercontent.com/victoirebeaufils/bdc33d6da0fb98eacf4b6c7d630c280b/raw", function(data){
const disorder = data.disorder;
disorders.push(data.disorder);
});
console.log(disorders)
console.log(disorders.length)
console.log(arr)
当我展开[]选项卡时,数组在控制台中显示的长度为5,但是
disorder.length
返回0,并且我无法访问任何元素。第一个数组运行良好,并且无需扩展选项卡即可显示元素的数量以及数组中的元素。我不确定这是什么意思或如何解决它,以便第二个正常工作。
最佳答案
由于d3.csv()是异步工作的,因此您需要具有一个回调函数:
例如:
const disorders=[];
const arr = [1,2,3,4,5];
function execute(callback) {
d3.csv("https://gist.githubusercontent.com/victoirebeaufils/bdc33d6da0fb98eacf4b6c7d630c280b/raw", function(data){
const disorder = data.disorder;
disorders.push(data.disorder);
callback(disorders);
});
}
execute(function(result) {
console.log(result)
console.log(result.length)
console.log(arr)
});