我只有JS陣列的經驗,而不是對象,所以我試圖學習如何瀏覽它們。我將不勝感激任何答案,並說明完成以下任務的過程:迭代通過一個對象來找到兩個ID變量的匹配
我有一個月(以整數表示,1-11
),以及各種ID的數據集合(也表示爲整數如474
)
的數據看起來是這樣的(一些較長的數據子集):
var myData = {
1: {474: true, 459: true},
4: {474: true, 578: true, 987: true, 459: true, 917: true, 296: true},
5: {474: true, 578: true, 1036: true, 391: true, 987: true, 459: true, 917: true, 296: true}
};
我需要
一)找到根據我在我的索引中的第一關鍵值。例如,var month = 4
;
二)查找是否真或假的我在子對象如ID
值var ID = 917
什麼,我需要檢查一些例子:
如果month == 1
和ID == 459
回報true
如果month == 1
和ID == 917
返回false
(917
不存在於月的數據1
如果month == 4
和ID == 987
返回true
如果month == 5
和ID == 917
回true
如果month == 5
和ID == 100
回報false
(100
不存在數據month 5
)
我維護了所有月份1-11
是目前的數據,所以我不需要額外的檢查,看看對象中存在值。它只需要使用month
找到第一個密鑰,然後在該子對象中搜索ID
,如果它發現它返回true
。
'如果(MYDATA的[月] [ID]){/ *做某事* /}' - 無迭代或搜索需要的,只是直接測試性能。 – nnnnnn
''它只需要找到第一個鍵「'只能有一個'月'鍵,只是在這裏,如果我們正在談論學習。至於這個問題,只需訪問它們並防止「未定義」的值,你就很好。 – Dellirium