当前位置: 首页 > 面试题库 >

有什么方法可以将数字类型用作对象键?

郎雪风
2023-03-14
问题内容

看来,当我在对象中使用数字类型作为键名时,它总是会转换为字符串。无论如何,实际上是否可以将其存储为数字?正常的类型转换似乎不起作用。

例:

var userId = 1;
console.log( typeof userId ); // number
myObject[userId] = 'a value';
console.dir(myObject);

目录输出:

{
    '1': 'a value'
}

想要的 是:

{
    1: 'a value'
}

忠告?


问题答案:

不,这是不可能的。 密钥将始终转换为字符串。

属性名称必须是字符串。这意味着非字符串对象不能用作对象中的键。任何非字符串对象(包括数字)都可以通过toString方法转换为字符串。

> var foo = {}
undefined

> foo[23213] = 'swag'
'swag'

> foo
{ '23213': 'swag' }

> typeof(Object.keys(foo)[0])
'string'


 类似资料:
  • 我是大学里的一个新手Java程序员。今天我发现了一些东西,打破了我关于Java语法如何工作的一个概念。 在ArrayList类中找不到方法stream(),但它可能看起来好像在那里。当我将鼠标移到Eclipse中的-方法上时,它表示这是集合的一部分,但我在其在线文档中的任何地方都找不到方法。 如果方法不是我调用它的类的一部分,为什么它可以调用它?

  • 问题内容: 有什么方法可以将MouseListener添加到Graphic对象。 我有一个绘制椭圆的简单GUI。 我想要的是在用户单击椭圆形时处理事件 这是有效的,但当单击位于椭圆周围的虚拟框中时会触发。 当点击完全位于椭圆形上时,有人可以帮助我触发它。 提前致谢。 问题答案: 我想到的最简单的方法是避免fillOval并使用java.awt.geom包中的几何。因此,您可以声明一个椭圆,因为看起

  • 我将得到列表对象的字符串,我想转换为列表对象。有没有办法把那个字符串转换成列表?

  • 问题内容: 以下接口和类已成功编译。 问题在下面的输出中提到: 输出: X 瞧,MyInterface是一个接口, 那为什么编译器允许编译 mi.getClass(),mi.wait()。 或如何在接口中使用Object类的方法。 ÿ 编辑 :-我接受拒绝的答案,因为这是最具解释性的。但是在阅读了答案之后,又出现了一个问题:- “ 请记住,如果接口试图在Object类中声明一个声明为’final’

  • 我真的很想理解这些的实时使用是什么: 1.Java概念“超类变量可以引用子类对象”有什么用处?即使这样,SuperClass变量只能用于访问由SuperClass定义的对象的那些部分,而不能访问子类成员,这甚至可以由子类对象实现。 2.动态方法调度的需求是什么?下面我有一个例子: 提前谢了。

  • 问题内容: 有什么方法可以使用静态字段。如果没有,还有其他方法可以做到这一点吗? 问题答案: 没有。你不能在Spring中自动连线或手动连线静态字段。为此,你必须编写自己的逻辑。