使用模型

时间:2019-02-13 10:13:01

标签: javascript angular typescript object enums

我想将此变量转换为枚举:

  colors: Array<object> = [
    { name:"bob1", engValue: 'RED' },
    { name:"bob2", engValue: 'GREEN' },
    { name:"bob3", engValue: 'YELLOW' }
  ];

我想创建一个模型并将其注入到我的组件中。 我能做到的最好方法是什么?

2 个答案:

答案 0 :(得分:0)

您是否希望导出和导入它?例如,如果是,则要将colors放在文件a.ts中,并将其放入b.ts

然后您可以在a.ts中写

export const color = [
    { name:"bob1", engValue: 'RED' },
    { name:"bob2", engValue: 'GREEN' },
    { name:"bob3", engValue: 'YELLOW' }
];

b.ts

import { colors } from 'a'

然后您可以在b.ts

中的任何位置使用它

对不起,如果那不是您想要的

答案 1 :(得分:0)

枚举在JS中不存在。

在TS中,它们被转换为对象。

使用reduce

const colorsArray = [
    { name:"bob1", engValue: 'RED' },
    { name:"bob2", engValue: 'GREEN' },
    { name:"bob3", engValue: 'YELLOW' }
];

const colorsObject = colorsArray.reduce((p, n) => ({ ...p, [n.name]: n.engValue }), {});

console.log(colorsObject);