【发布时间】:2015-05-12 21:25:10
【问题描述】:
我有一个嵌套的 JS 数组,但我不确定如何访问我需要的值。在这种情况下,我有一个“active_district”ID。我想获得嵌套在该地区下的所有学校的数组。但是学校在阵列下方 3 层,所以我不确定如何到达它们。
我的数组如下所示:
如何获得这些学校的数组?
【问题讨论】:
标签: javascript jquery arrays json
我有一个嵌套的 JS 数组,但我不确定如何访问我需要的值。在这种情况下,我有一个“active_district”ID。我想获得嵌套在该地区下的所有学校的数组。但是学校在阵列下方 3 层,所以我不确定如何到达它们。
我的数组如下所示:
如何获得这些学校的数组?
【问题讨论】:
标签: javascript jquery arrays json
分而治之:首先,访问一系列地区:
var districts = yourArray[0][0].active_districts;
从你的图片中,我可以看到我们想要访问最顶层数组的索引0,以及那个数组的索引0。 (我不知道为什么,但是从您问题中的图片中可以清楚地看到。有一个数组并且总是从中获取第一个条目是很奇怪的。)
现在,找到你想要的区:
var district;
districts.some(function(d) {
if (d.id === yourDistrictId) {
district = d;
return true; // Stops loop
}
return false;
};
现在,如果district 不是undefined,学校就在district.schools。
(使用Array#some,它是在 ECMAScript5 中添加的,适用于所有现代浏览器。它不在 IE8 和其他一些旧版浏览器上,但它可以“填充”。所以如果你需要支持旧版浏览器,寻找 polyfill。或者使用 for 循环。)
【讨论】: