在嵌套的JSON中查找值并向后追踪值

时间:2017-12-07 11:39:22

标签: javascript arrays json

使用下面的JSON结构。

假设我知道章节“数字”和章节“数字”。

从我拥有的内容中搜索和追溯的最佳方式是什么,在标题中获得标题的“数字”,然后是分区“数字” ?

当然会有大量的部门/职称/章节。

[
  {
    "name":"Division",
    "number":1,
    "TITLES":[
      {
        "CHAPTERS":[
          {
            "name":"chapter2",
            "number":2,
            "SECTIONS":[
              {
                "name":"section3",
                "number":3
              }
            ]
          }
        ],
        "name":"title1",
        "number":1
      }
    ]
  }
]

1 个答案:

答案 0 :(得分:0)

此代码(假设a是您的数据数组)

var b = [];
var chapternumber = 2;
var sectionnumber = 3;
a.forEach(function (division, divisionindex) {
  division.TITLES.forEach(function (title, titleindex) {
    title.CHAPTERS.forEach(function (chapter, chaptersindex) {
      chapter.SECTIONS.forEach(function (section, sectionsindex) {
        if(section.number === sectionnumber && chapter.number === chapternumber){
          b.push({title: title.number, division: division.number});
        }
      })
    })
  });
})
console.log(b);

输出具有匹配的标题和分区编号的数组。