***元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{}”在“{}”类型上找不到参数类型为“字符串”的索引签名
并且还显示对象可能是未定义的。
我试图在打字稿文件中实现此代码,但它显示了这些错误。为什么?我无法找到错误。请帮忙。
getGlobalData() {
return this.http.get(this.globalDataUrl, { responseType: 'text' }).pipe(
map(result => {
let data: GlobalDataSummary[] = [];
let raw = {}
let rows = result.split('\n');
rows.splice(0, 1);
// console.log(rows);
rows.forEach(row => {
let cols = row.split(/,(?=\S)/)
let cs = {
country: cols[3],
confirmed: +cols[7],
deaths: +cols[8],
recovered: +cols[9],
active: +cols[10],
};
let temp: GlobalDataSummary = raw[cs.country];
if (temp) {
temp.active = cs.active + temp.active
temp.confirmed = cs.confirmed + temp.confirmed
temp.deaths = cs.deaths + temp.deaths
temp.recovered = cs.recovered + temp.recovered
raw[cs.country] = temp;
} else {
raw[cs.country] = cs;
}
})
return <GlobalDataSummary[]>Object.values(raw);
})
)
}