const obj = {
15: 100
};
for(let key in obj)
console.log(key, typeof(key), typeof(+key))
结果为15 string number
。我试图遍历对象值并将它们中的一些放入Map对象中,但是类型兼容性似乎无法实现。我在这里做错了还是对象键始终是字符串?
Object.keys(obj)
还返回[“ 15”]
答案 0 :(得分:4)
对象键始终是字符串。您可以查看有关here的更多信息:
属性名称必须是字符串。这意味着非字符串对象不能用作对象中的键。任何非字符串对象(包括数字)都可以通过toString方法转换为字符串。
要想实现所需的功能,您需要将键转换回整数。