繁体   English   中英

Nodejs - 迭代嵌套JSON数组的正确方法

[英]Nodejs - Correct way to iterate through nested JSON array

请考虑以下示例JSON数组:

[{
    info: {
        refOne: 'refOne',
        refTwo: [{
            refOne: 'refOne',
            refTwo: 'refTwo'
        }]
    }
}, {
    info: {
        refOne: 'refOne',
        refTwo: [{
            refOne: 'refOne',
            refTwo: 'refTwo'
        }]
    }
}]

上面的JSON是数据库查询响应的简单表示,Nodejs在父信息数组中循环遍历每个'refTwo'数组的正确方法是什么?

sudo示例:对于当前项目中每个refTwo项目的示例JSON中的每个项目执行某些操作

我怀疑这里可能需要'async'lib,但是非常感谢一些建议。

这是一个简单的JavaScript问题:

var o = [...];

var fn = function (e){
    e.refOne...
    e.refTwo...
};

o.forEach (function (e){
    e.info.refTwo.forEach (fn);
});

您可以使用下划线lodash以功能方式执行此操作。

例如,看看Collections.eachCollections.map

var _ = require('underscore');

var result = // your json blob here

var myRefs = _.map(results, function(value, key) {
  return value.info.refTwo;
};
// myRefs contains the two arrays from results[0].info.refTwo from results[1].info.refTwo now

// Or with each:
_.each(results, function(value, key) {
  console.log(value.info.refTwo);
}

// Naturally you can nest, too:
_.each(results, function(value, key) {
  _.each(value.info.refTwo, function(innerValue) { // the key parameter is optional
    console.log(value);
  }
}

编辑:你当然可以使用Gabriel Llamas建议的forEach方法,但是我建议你看一下下划线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM