打字稿错误:Object.fromEntries 打字稿错误

use*_*232 11 object typescript angular

我在打字稿中有一个函数,它使用 Object.fromEntries 来减少复杂的响应对象并使用子对象键的子字符串对其进行分组。

let Newresult = res.map(object => Object.fromEntries(Object.entries(object).map(([key, value]) => [
key,
value.map(valueobject => Object.entries(valueobject).reduce((res1, [name, value]) => {
    const key = name.slice(0, 5);
    res1[key] = res1[key] || {};
    res[key][name] = value;
    return res1;
}, {}))
])));
Run Code Online (Sandbox Code Playgroud)

但问题是打字稿在编译时抛出以下错误。

error TS2339: Property 'fromEntries' does not exist on type 'ObjectConstructor'.
error TS2339: Property 'map' does not exist on type '{}'.
Run Code Online (Sandbox Code Playgroud)

我尝试将 ESNext,ES2017.Object 添加到我的 tsconfig.json 库中,但仍然抛出编译错误。但是我的 lib-array 的相同更新允许我使用 Object.entries。

我正在使用 angular -v-6,打字稿:~3.1.1

哪种其他方法可以帮助我达到与上述相同的结果。有人可以指导我正确的方向吗?

提前致谢!!

T.J*_*der 6

Object.fromEntriesES2019,因此您的lib选项需要包括它(或 ES2020)。(ESNext 是一个移动目标。)

也就是说,TypeScript v3.1.1 已经相当老了。您可能需要升级。