如何将 Object.values 与打字稿一起使用?

新手上路,请多包涵

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

 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'

原文由 user2280016 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 722
2 个回答

使用 Object.keys 代替。

 const data = {
  a: "first",
  b: "second",
};

const values = Object.keys(data).map(key => data[key]);

const commaJoinedValues = values.join(",");
console.log(commaJoinedValues);

原文由 holi-java 发布,翻译遵循 CC BY-SA 4.0 许可协议

我在 tsconfig.json 中增加了目标以在 TypeScript 中启用此功能

{
    "compilerOptions": {
        "target": "es2017",
        ......
    }
}

原文由 Lukas Ignatavičius 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏