我在javascript中有这4种方法,函数AllMuseums返回一个数组。
function contains(listaValori, anno, mese) {
for (j=0; j<listaValori.length; j++) {
if (listaValori[j].Anno==anno) {
if(listaValori[j].Mese==mese) {
return true;
}
}
}
return false;
}
function processing(data, anno, mese) {
var visitatori = 0;
for (k=0; k<data.length; k++) {
if ((data[k].Anno == anno) && (data[k].Mese == mese)) {
visitatori += parseInt(data[k].Visitatori);
}
}
return visitatori;
}
function filtraggio(data) {
var map = {};
array_filtrato = [];
date_fatte = [];
for (i=0; i<data.length; i++) {
if (contains(date_fatte, data[i].Anno, data[i].Mese)==false) {
var mese_anno = new String("");
var map = {};
mese = data[i].Mese;
anno = data[i].Anno;
mese_anno = mese + " " + data[i].Anno;
map["date"] = mese_anno;
visitatori = processing(data, anno, mese);
map["price"] = visitatori;
array_filtrato.push(map);
date_fatte.push(data[i]);
}
}
return array_filtrato;
}
async function allMuseums() {
let nomeFile = "dati_musei.csv";
let data = await d3.dsv(";", nomeFile, function (d) {
return {
Museo: d.Museo,
Ingresso: d.Ingresso,
Anno: d.Anno,
Mese: d.Mese,
Visitatori: d.Visitatori
};
});
return filtraggio(data);
};
但是在这4种方法之后,我还有另一部分代码和变量'datax'。我希望“ datax”具有AllMuseum()的数组:
allMuseums().then(data => {
let datax = data;
console.log(datax);
});
但是以这种方式,我将不得不将所有其余代码放入内部,并且由于我还拥有其他方法(例如AllMuseums()),因此这将迫使我复制代码。