迭代通过组
我有这个JSON在我的应用程序的AJAX请求返回,迭代通过组
{"info": {"pat_gender": "f",
"obtained_pmh": true,
"organized": false,
"hpi_selected_alleviating": true,
"greeted_patients": true,
"echoed_patients_words": false,
"allowed_pt_to_finish_thoughts": true,
"grade": "Excellent"
} }
我想通过项目,但在小组循环排序真假领域,即一个JSON
{"info": {
"pat_gender": "f",
//from here GROUP1
"obtained_pmh": true,
"organized": false,
"hpi_selected_alleviating": true,
//GROUP2
"greeted_patients": true,
"echoed_patients_words": false,
"allowed_pt_to_finish_thoughts": true,
"grade": "Excellent"
} }
我想有两个列表(true和false)进行分类第1组的领域,也第2组排序以同样的方式。 我该如何做到最好?
你可以遍历您的属性和推动与true
值键名为“组1”的属性,并推动与false
值的键的属性命名组2:
obj.group1 = [];
obj.group2 = [];
for p in obj {
if (obj.hasOwnProperty(p)) {
if (obj[p] === true) {
obj.group1.push[p];
} else if (obj[p] === false) {
obj.group2.push[p];
}
}
}
然后你可以检索obj.group1
所有键通过遍历数组。
这对排序它们非常有效。有没有一种方法可以将两个GROUP1和GROUP2中的字段分组,如上所示,然后在每个组(1和2)中按照您所做的方式分类到GROUP1_T和GROUP1_F以及GROUP2_T和GROUP2_F中?也许我会重命名这些字段,以使GROUP1具有特定的命名约定,并且也对GROUP2执行相同的操作。可能吗? – Alexxio 2013-03-14 18:12:22
@AlexKasina看起来我误解了这个问题。将密钥分成组1或组2的标准是什么? – 2013-03-14 18:13:57
是的。我想分开这两组字段,然后在每个组中,我应用上面的代码。 – Alexxio 2013-03-14 18:22:15
JS对象(以及扩展名为JSON字典)没有内置的“按键顺序”的概念。您需要按照您想要检查的顺序拥有自己的字段列表。但是,在这种情况下,“排序”是什么意思? – cHao 2013-03-14 15:46:27
@cHao在排序中,我的意思是在每个组中创建两组字段,将字段分隔为T和F. – Alexxio 2013-03-14 18:26:10