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中通过父info数组中的每个'refTwo'数组循环的正确方式是什么?
sudo的例子:示例JSON中的每个项目对于当前项中的每个refTwo项做一些
我怀疑这里可能需要'async'库,但非常感谢一些建议。
这是一个简单的javascript问题:
var o = [...];
var fn = function (e){
e.refOne...
e.refTwo...
};
o.forEach (function (e){
e.info.refTwo.forEach (fn);
});
您可以使用下划线或lodash以功能方式完成。
例如,看看集合。and 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 Llamas建议的forEach方法,但我还是建议你看看下划线。
相关文章:
- 数组在递归方法中设置为null
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 用于检查数组中是否存在元素的javascript自定义方法
- call()和apply()实际上是用来欺骗方法处理类似数组的对象的
- 从数组中删除元素的最佳方法是:javascript/jquery
- knex:根据结果创建数组的合适方法是什么
- 将数组从javascript格式化为php的更好方法,反之亦然
- 如何创建一个方法来验证数组的范围
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 解析带有嵌入式数组的JSON对象,方法
- 查找对象数组是否包含其中一个标记的最快方法
- 如何用Typescript用自定义方法实现类数组
- 在 JavaScript 数组中的所有元素之间穿插元素的简洁方法
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 选择具有值数组的所有元素的最有效方法
- JavaScript 中的范围(为什么在 $.post() 方法数组的作用域是本地的?)
- Javascript方法不填充方法(数组)
- Objects筛选方法数组中的THIS关键字