我只有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