我有一个嵌套的JS数组,但我不确定如何访问我需要的值。在这种情况下,我有一个" active_district" ID。我想得到一个嵌套在该地区的所有学校的数组。但是这些学校在阵列的3个级别,所以我不确定如何到达它们。
我的数组看起来像这样:
我怎样才能获得这些学校的一系列?
答案 0 :(得分:1)
分而治之:首先,进入一系列地区:
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和其他一些旧版浏览器上,但它可以是" polyfilled 。"因此,如果您需要支持旧浏览器,请查找填充。或使用for
循环。)