繁体   English   中英

可以像数组一样访问Javascript对象吗?

[英]Can Javascript objects be accessed like arrays?

假设对象初始化如下:

var myObj = {
   "key1":"val1",
   "key2":"val2",
   "key3":"val3",
   ...
};

我可以检索这样的键值吗?

var retrKey1 = myObj[0];
var retrKey2 = myObj[1];
var retrKey3 = myObj[2];
...

我要解决的问题是我需要从该对象中选择随机键值。 生成随机数不是问题,但是:

  1. 如何检索对象/地图中的键数?
  2. 我可以像数组一样使用整数索引来检索键值吗?

如果没有,我有什么选择?

不,因为属性键之间没有顺序。 如果需要有序的键,则需要使用数组。

您可以定义这样的结构:

var myObj = [
    {key:"key1", val:"val1"},
    ...
];

Object.keys方法返回对象属性的数组。 然后可以用数字索引数组。

var myObj = {
 "key1":"val1",
 "key2":"val2",
 "key3":"val3",
 ...
};
var keys = Object.keys(myObj); 

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM