当键不是字符串时,如何遍历对象的键?

比尔格斯普

对于我的应用程序中的各种配置(参数等),我喜欢使用对象。对象的键不是字符串,而是枚举。

当键不是字符串时,如何遍历键并将每个键作为正确的枚举类型获取?

例:

enum Color {
    RED = 1
}

let colorNames: { [key in Color]?: string } = {
    [Color.RED]: "red"
}

Object.keys(colorNames).forEach(colorsKeyStr => {

    let colorNum: Color = colorsKeyStr // <-- produces error
    // What's the proper way to cast a "color" variable to the "Color" enum type?
})
雷诺

如果您需要密钥是其他东西而不是字符串,则可以使用地图

enum Color {
  RED = 1,
}

const colorNames: Map<Color, string> = new Map();
colorNames.set(Color.RED, "red");

// Looping over map
colorNames.forEach((value, key) => {
  console.log("key", key);     // Expected: 1
  console.log("value", value); // Expected: "red"
});

// Get single value
const red = colorNames.get(Color.RED);

另一种选择是将强制colorsKeyStr转换为数字。

enum Color {
  RED = 1
}

let colorNames: { [key in Color]?: string } = {
  [Color.RED]: "red"
}

Object.keys(colorNames).forEach(colorsKeyStr => {
  const index = Number(colorsKeyStr);
  let colorNum: Color = index;
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用字符串而不是对象搜索字典键

来自分类Dev

如何使用Java流收集来创建一个以字符串为键而不是对象为键的映射?

来自分类Dev

当某些键不是字符串时,如何将Python dict转换为JSON?

来自分类Dev

JavaScript。字典键不是字符串?

来自分类Dev

如何从字符串构建JSON对象键

来自分类Dev

遍历多维数组时如何访问键和第一个字符串值?

来自分类Dev

根据对象键构建字符串

来自分类Dev

通过对象键构建字符串

来自分类Dev

对象键的字符串模板

来自分类Dev

当每个键都是字符串时,遍历PHP中的多维关联数组

来自分类Dev

当Dictionary的键是字符串数组时,如何获取不同的键

来自分类Dev

nodejs - 如何循环遍历 JSON 字符串和计算器中的键

来自分类Dev

如何根据键的字符串提取字典的键?

来自分类Dev

如何重命名对象键并将对象值从字符串更改为数字

来自分类Dev

将对象用作地图时,其键始终会转换为字符串。为什么?

来自分类Dev

为什么 JavaScript 在使用对象作为键时隐式字符串化参数值?

来自分类Dev

TypeError:键<内置函数ID>不是字符串

来自分类Dev

如何在python OrderedDict上使用字符串键而不是整数切片?

来自分类Dev

在zsh中,如何将键绑定到字符串而不是函数?

来自分类Dev

为什么JS forin循环将(循环的)对象存储为(字符串化的)键,而不是对象?

来自分类Dev

在Ember 1.13和更高版本中,在遍历字符串数组时应分别使用哪个键?

来自分类常见问题

确保字符串文字联合属于对象的键

来自分类Dev

使用字符串作为键迭代JavaScript对象

来自分类Dev

根据键对JSON对象/字符串排序

来自分类Dev

用对象属性替换模板字符串中的键

来自分类Dev

连接普通对象键中的字符串

来自分类Dev

MongoDB索引:对象键与字符串数组

来自分类Dev

JS将字符串转换为多维对象键

来自分类Dev

如果键包含字符串,则删除整个json对象

Related 相关文章

  1. 1

    使用字符串而不是对象搜索字典键

  2. 2

    如何使用Java流收集来创建一个以字符串为键而不是对象为键的映射?

  3. 3

    当某些键不是字符串时,如何将Python dict转换为JSON?

  4. 4

    JavaScript。字典键不是字符串?

  5. 5

    如何从字符串构建JSON对象键

  6. 6

    遍历多维数组时如何访问键和第一个字符串值?

  7. 7

    根据对象键构建字符串

  8. 8

    通过对象键构建字符串

  9. 9

    对象键的字符串模板

  10. 10

    当每个键都是字符串时,遍历PHP中的多维关联数组

  11. 11

    当Dictionary的键是字符串数组时,如何获取不同的键

  12. 12

    nodejs - 如何循环遍历 JSON 字符串和计算器中的键

  13. 13

    如何根据键的字符串提取字典的键?

  14. 14

    如何重命名对象键并将对象值从字符串更改为数字

  15. 15

    将对象用作地图时,其键始终会转换为字符串。为什么?

  16. 16

    为什么 JavaScript 在使用对象作为键时隐式字符串化参数值?

  17. 17

    TypeError:键<内置函数ID>不是字符串

  18. 18

    如何在python OrderedDict上使用字符串键而不是整数切片?

  19. 19

    在zsh中,如何将键绑定到字符串而不是函数?

  20. 20

    为什么JS forin循环将(循环的)对象存储为(字符串化的)键,而不是对象?

  21. 21

    在Ember 1.13和更高版本中,在遍历字符串数组时应分别使用哪个键?

  22. 22

    确保字符串文字联合属于对象的键

  23. 23

    使用字符串作为键迭代JavaScript对象

  24. 24

    根据键对JSON对象/字符串排序

  25. 25

    用对象属性替换模板字符串中的键

  26. 26

    连接普通对象键中的字符串

  27. 27

    MongoDB索引:对象键与字符串数组

  28. 28

    JS将字符串转换为多维对象键

  29. 29

    如果键包含字符串,则删除整个json对象

热门标签

归档