Nodejs – 通过嵌套的JSON数组迭代的正确方法

考虑下面的示例JSON数组:

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

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

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

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

       

网上收集的解决方案 "Nodejs – 通过嵌套的JSON数组迭代的正确方法"

这是一个简单的JavaScript问题:

 var o = [...]; var fn = function (e){ e.refOne... e.refTwo... }; o.forEach (function (e){ e.info.refTwo.forEach (fn); }); 

你可以用下划线或lodash来实现。

例如,看看Collections.each和Collections.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 Llamasbuild议的forEach方法,但是我build议看看下划线。