![](/img/trans.png)
[英]Is bracket notation slower than period notation for accessing Object properties?
[英]Accessing Properties in object using bracket notation
我正在通過javascript使用ajax調用並返回json。
我使用括號表示法訪問數據,因為對象名稱中包含空格,因此無法使用點表示法。
這是我的ajax調用的成功功能(由於API密鑰而沒有放入整個ajax調用)。
success: function(data){
console.log(data);
console.log(data['Time Series (1min)']);
},
我想要“時間序列(1分鍾)”對象中一長串屬性中的最后一個屬性。 我無法通過鍵/屬性名稱來稱呼它,因為屬性每隔分鍾就會更改一次(數據是一分鍾一分鍾的)。 到目前為止,我還沒有找到任何可以幫助我上網的信息。 我已經嘗試過.last(),但是點符號和方括號似乎並不有趣。 有任何想法嗎?
獲得數據后:
const series = data['Time Series (1min)'];
只需獲取所有密鑰,即可獲得時間戳最高的密鑰:
const last = Object.keys(series).reduce((a, b) => a > b ? a : b);
現在我們有了最高的鑰匙,這很容易:
console.log(series[last]);
不能保證對象鍵順序的所有必要操作,因此您可以切換到使用數組或Map。
我假設您只是想獲取對象的最后一個屬性的值。 (基於該主題,對對象屬性進行了排序)
那么簡單些:
data[Object.keys(data).pop()]
//編輯:
首先,您要獲取“時間序列”屬性(每分鍾更改一次),所以也許您需要這樣的東西:
data[Object.keys(data).find(key => key.match(/Time Series \(\d+min\)/))]
這將獲得您方案中時區屬性的值(帶有日期的對象)。 而且-正如我所看到的-您收到的數據是按日期時間排序的,您可以通過運行我在未經編輯的帖子中編寫的代碼來獲取您感興趣的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.