簡體   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