gpt4 book ai didi

typescript - 如何在 typescript 中使用 Object.values?

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:37 25 4
gpt4 key购买 nike

我试图从一个对象中形成一个逗号分隔的字符串,

const data = {"Ticket-1.pdf":"8e6e8255-a6e9-4626-9606-4cd255055f71.pdf","Ticket-2.pdf":"106c3613-d976-4331-ab0c-d581576e7ca1.pdf"};
const values = Object.values(data).map(x => x.substr(0, x.length - 4));
const commaJoinedValues = values.join(',');
console.log(commaJoinedValues);

如何使用 TypeScript 做到这一点?

获取错误文件:

severity: 'Error'
message: 'Property 'values' does not exist on type 'ObjectConstructor'.'
at: '216,27'
source: 'ts'

最佳答案

Object.values()part of ES2017 ,你得到的编译错误是因为你需要配置 TS 来使用 ES2017 库。您可能在当前的 TS 配置中使用 ES6 或 ES5 库。

解决方案:在 --lib compiler option 中使用 es2017es2017.object .

例如,使用tsconfig.json:

"compilerOptions": {
"lib": ["es2017", "dom"]
}

请注意,使用 TypeScript 以 ES2017 为目标 不会在 ES2017 的浏览器中发出 polyfill(这意味着以上解决了您的编译错误,但您仍然会遇到运行时错误,因为浏览器未实现 ES2017 Object.values),如果需要,您可以自己填充项目代码。自 Object.values is not yet well supported by all browsers (在撰写本文时)您肯定需要一个 polyfill:core-jsdo the job .

关于typescript - 如何在 typescript 中使用 Object.values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42966362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com