我需要在数组上使用.flat(),但Typescript声称:
类型'[string,unknown] []'不存在属性'flat'
我在tsconfig文件中添加了“ es2019”:
"lib": ["es2015", "es2019", "dom"],
使用flat()的函数是:
const legendSeries = (series) => {
const formattedSeries = {};
series.map((serie) =>
Object.entries(serie).map((s) => {
if (s[0] in formattedSeries) {
return (formattedSeries[s[0]].count += s[1]);
}
return (formattedSeries[s[0]] = { id: s[0], label: s[0], count: s[1] });
})
);
return Object.entries(formattedSeries)
.flat()
.filter((_, i) => i % 2 !== 0);
};
错误仍然存在。如何解决这个问题(如果有帮助的话,这是一个React项目)?
答案 0 :(得分:1)
我认为这个问题是因为打字稿无法访问array.flat(),在这种情况下,它将抛出一个不了解flat()的错误,如@codejockie所述。您需要像这样更新配置文件
{
"compilerOptions": {
"target": "es5",
"lib": [
"es2019"
]
}
}
我们需要在TypeScript的--lib设置中添加es2019或es2019.array,以便它开始识别array.flat()和flatMap()。
进行更改后。如果更改没有反应,请重新启动项目。
答案 1 :(得分:0)
将您的conn, addr = s.accept()
更新为此lib
。
这是我的配置:
"lib": ["es2019", "es2017", "es7", "es6", "dom"]