gpt4 book ai didi

typescript - 在 Typescript 对象中提取 ENUM 的字符串值

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:59 26 4
gpt4 key购买 nike

我有一个枚举:

export enum DistanceMeasure {
Miles, Kilometers

在用户对象中使用:

export class User {
... some stuff
MaxTravelDistance: number;
DistanceMeasure: DistanceMeasure;
MaxTravelTime: TimeSpan;
... some more stuff

所以来自服务器的信息对于 DistanceMeasure 为 0(零)或 1,这很好。但我需要提供字符串,例如“英里”。

在我的(Angular/Ionic)应用程序中,输出

      console.log(user.DistanceMeasure);

为“0”(零)。但是我读到要提取枚举字符串,您应该将其用作索引。如果我这样做:

      console.log(user.DistanceMeasure[0]);

它返回未定义。

这是为什么呢?因为 user.DistanceMeasure 是 DistanceMeasure 类型?它不再是枚举了吗?谢谢。

最佳答案

应该是 DistanceMeasure[user.DistanceMeasure],如以下代码片段所示:

enum DistanceMeasure {
Miles, Kilometers
}

class User {
DistanceMeasure: DistanceMeasure;
}

const user = new User();
user.DistanceMeasure = 0;

console.log(DistanceMeasure[user.DistanceMeasure]); // Miles

造成混淆的主要原因是您没有遵循命名约定,因此最终得到的属性与您的枚举同名。

关于typescript - 在 Typescript 对象中提取 ENUM 的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56339243/

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