访问嵌套的javascript数组

时间:2015-05-12 21:25:11

标签: javascript jquery arrays json

我有一个嵌套的JS数组,但我不确定如何访问我需要的值。在这种情况下,我有一个" active_district" ID。我想得到一个嵌套在该地区的所有学校的数组。但是这些学校在阵列的3个级别,所以我不确定如何到达它们。

我的数组看起来像这样: enter image description here

我怎样才能获得这些学校的一系列?

1 个答案:

答案 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循环。)