Javascript 如何修复在console中登录一个特定日期的未定义问题 异步函数getjsondata(){ 试一试{ 状态=等待取数('https://covid.ourworldindata.org/data/owid-covid-data.json'); data=wait state.json(); }捕捉(错误){ 控制台日志(err); } } var-sumy=0; var tt_list=[]; 异步函数getmonthnewcases(){ 等待getmonthsum(); 等待getjsondata(); 等待获得国家(); 试一试{ for(设i=0;i
首先是代码中似乎有一些错误, 您没有从Javascript 如何修复在console中登录一个特定日期的未定义问题 异步函数getjsondata(){ 试一试{ 状态=等待取数('https://covid.ourworldindata.org/data/owid-covid-data.json'); data=wait state.json(); }捕捉(错误){ 控制台日志(err); } } var-sumy=0; var tt_list=[]; 异步函数getmonthnewcases(){ 等待getmonthsum(); 等待getjsondata(); 等待获得国家(); 试一试{ for(设i=0;i,javascript,Javascript,首先是代码中似乎有一些错误, 您没有从getjsondata返回任何内容 而且您没有在getmonthnewcases (参见代码注释) 异步函数getjsondata(){ 试一试{ 状态=等待取数('https://covid.ourworldindata.org/data/owid-covid-data.json'); return await state.json();//我猜您在这里指的是:console.log(data[isocount][“data”][z][“date”],…)
getjsondata
返回任何内容而且您没有在
getmonthnewcases
(参见代码注释)
异步函数getjsondata(){
试一试{
状态=等待取数('https://covid.ourworldindata.org/data/owid-covid-data.json');
return await state.json();//我猜您在这里指的是:
console.log(data[isocount][“data”][z][“date”],…)
。示例数据在哪里?使用让arr=data[isocount][“data”
简化代码,并在arr[z]上迭代
。listy是在哪里定义的?只有代码的答案没有帮助。一个好的答案应该解释OP存在问题的原因以及您的代码是如何解决的。
async function getjsondata() {
try {
state = await fetch('https://covid.ourworldindata.org/data/owid-covid-data.json');
data = await state.json();
} catch (err) {
console.log(err);
}
}
var sumy = 0;
var tt_list = [];
async function getmonthnewcases() {
await getmonthsum();
await getjsondata();
await getCountry();
try {
for (let i = 0; i < 12; i++) {
for (let z = listy[i]; z <= listy[i + 1]; z++) {
for (key in data[isocount]["data"][z]) {
if (data[isocount]["data"][z].hasOwnProperty(key) == true) {
sumy += Number(data[isocount]["data"][z]["total_cases_per_million"]);
tt_list[i] = sumy;
} else if (typeof data[isocount]["data"][z]["total_cases_per_million"] === "undefined") {
data[isocount]["data"][z]["total_cases_per_million"] = sumy;
continue;
}
if (z == data[isocount]["data"].length - 1) {
break;
}
console.log(data[isocount]["data"][z]["date"], sumy, data[isocount]["data"][z]["total_cases_per_million"]);
}
}
}
console.log(tt_list);
} catch (err) {
console.log(err);
}
}
async function getjsondata() {
try {
state = await fetch('https://covid.ourworldindata.org/data/owid-covid-data.json');
return await state.json(); //<-- here
} catch (err) {
console.log(err);
}
}
var sumy = 0;
var tt_list = [];
async function getmonthnewcases() {
await getmonthsum();
const data = await getjsondata(); //<-- and here
await getCountry();
try {
for (let i = 0; i < 12; i++) {
for (let z = listy[i]; z <= listy[i + 1]; z++) {
for (key in data[isocount]["data"][z]) {
if (data[isocount]["data"][z].hasOwnProperty(key) == true) {
sumy += Number(data[isocount]["data"][z]["total_cases_per_million"]);
tt_list[i] = sumy;
} else if (typeof data[isocount]["data"][z]["total_cases_per_million"] === "undefined") {
data[isocount]["data"][z]["total_cases_per_million"] = sumy;
continue;
}
if (z == data[isocount]["data"].length - 1) {
break;
}
console.log(data[isocount]["data"][z]["date"], sumy, data[isocount]["data"][z]["total_cases_per_million"]);
}
}
}
console.log(tt_list);
} catch (err) {
console.log(err);
}