我有一個數組名爲數據包含對象像這樣:如何在JavaScript對象中動態引用變量鍵名?
[{"timeslot":"6am-7am","Monday":5},{"timeslot":"7am-8am","Monday":0},{"timeslot":"8am-9am","Monday":10}]
每個對象包含兩個鍵 - 值對。我需要創建兩個新的陣列:
- 陣列,時隙 S,包含與「時隙」鍵
- 陣列,NUMUSERS相關聯的每個值,包含與所述相關聯的每個整數值「週一」鍵
這裏是我的javascript:
var timeslots = [];
var numUsers = [];
var keys = Object.keys(data[0]);
var today = keys[1];
for(var i in data) {
timeslots.push(data[i].timeslot);
numUsers.push(data[i].today);
}
的for循環第一線的工作原理,並且返回以下時隙陣列:
["6am-7am", "7am-8am", "8am-9am"]
第二行,但是,返回未定義元件的陣列。
我的問題是,數組中數組中的對象的第二個鍵值有所不同。每個對象將包含一週中的同一天,但是這一天可以是「星期一」到「星期天」中的任何一個。
如何動態引用它?
哇 - 這是比我想象的簡單。該睡了。 – Callum
如果日子不同,這種解決方案將無法正常工作,除非您在迴路中設置「today」*。 –
@ChrisG您的解決方案將無法正常工作。請閱讀我添加到答案的註釋。 – VisioN