简体   繁体   English

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

[英]Can Javascript objects be accessed like arrays?

Assuming an object is initialized as following: 假设对象初始化如下:

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

Can I retrieve key values like this? 我可以检索这样的键值吗?

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

The issue I am trying to solve is that I need to pick random key values from this object. 我要解决的问题是我需要从该对象中选择随机键值。 Generating a random number is not an issue, but: 生成随机数不是问题,但是:

  1. How can I retrieve the number of keys in the object/map? 如何检索对象/地图中的键数?
  2. Can I retrieve the key values using a integer index like in arrays? 我可以像数组一样使用整数索引来检索键值吗?

If not, what are my options? 如果没有,我有什么选择?

No, because there's no ordering among property keys. 不,因为属性键之间没有顺序。 If you want ordered keys, you need to work with an array. 如果需要有序的键,则需要使用数组。

You could define a structure like this : 您可以定义这样的结构:

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

The Object.keys method returns an array of object properties. Object.keys方法返回对象属性的数组。 You can index the array with numbers then. 然后可以用数字索引数组。

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

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

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

相关问题 以后可以访问添加到 javascript 数组中的数据吗? - Can data added in javascript arrays be accessed later? 可以从GWT中的Javascript访问Java对象吗? - Can Java objects be accessed from Javascript in GWT? 像javascript库这样的sql可与数组和对象一起使用 - sql like javascript library to work with arrays and objects 在 JavaScript 中,字符串是类似数组的对象吗? - In JavaScript are strings arrays-like objects? 我们如何才能像具有Object.freeze()方法的对象那样使Javascript数组不可变? - How can we make Javascript arrays immutable like for Objects we have Object.freeze() method? 我想要按对象数组分组,例如 JavaScript 中的特定数组对象 - I want Group By Arrays of Objects like specific array objects in JavaScript 将嵌套对象/数组的对象转换为类似于javascript中的数组 - Converting an object of nested objects / arrays into something array like in javascript 为什么在Javascript中使用类似于数组的对象而不是本机数组 - Why Are Array-Like Objects Used in Javascript Over Native Arrays 为什么JavaScript不能将类似数组的对象转换为数组? - Why does JavaScript not convert array-like objects to arrays? 数组和对象以及 javascript 映射 - Arrays and objects and javascript map
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM