我有一些JSON对象数组中的数据。我正在尝试使用嵌套的forEach循环来提取数据。

数据的建模类似于belo。在dataModels中有多个dataModels和多个childNodes。

//this is what an example data looks like
dataModels[0].childNodes[0].appId

我正在尝试执行以下操作:
dataModels.forEach(function(entry){
    entry.forEach(function(childrenEntry){
      console.log(childrenEntry.appId);
    })
})

但是上述方法不起作用,它给我一个错误,说“输入”不是一个函数。是否有更好的方法来实现我要完成的任务?

最佳答案

您没有针对entry对象内的数组,您需要遍历childNodes属性以获得所需的数据。请参见下面的示例。

var dataModels = [];

dataModels[0] = {
    childNodes: []
};

dataModels[0].childNodes[0] = {
    appId: "foo"
};

dataModels.forEach(function(entry){
    entry.childNodes.forEach(function(childrenEntry) { // was missing a )
      console.log(childrenEntry.appId);
    });
});

JsFiddle demo

关于javascript - 嵌套的forEach循环不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30176604/

10-09 15:24