javascript - Javascript如何使用递归从对象中打印值
问题描述
有一个对象
var abb = {"DATA":[{"A":"122","B":"444","C":"fff"},
{"A":"1223","B":"6666","C":"s"},
{"A":"555","B":"76666","C":"pod"},
{"A":"7676","B":"34345","C":""},
{"A":"54553","B":"2325555","C":""}]};
这是我的代码
var recursive_f =function(a){
if(a.length > 0){
console.log(a[0]);
recursive_f(a.slice(1));
}
}
recursive_f(abb.DATA);
我的结果是这样 我的结果
但我想要这个 答案
解决方案
a[0]
是一个对象,并且您希望该对象的所有值都在一个数组中。为此使用Object.values。
var abb = {"DATA":[{"SLIP_NO":"RE2018070006","IO_DATE":"2018-07-11 00:00:00.0","REMARK":"185"},{"SLIP_NO":"RE2012060003","IO_DATE":"2012-06-06 00:00:00.0","REMARK":""},{"SLIP_NO":"RE2012060003","IO_DATE":"2012-06-06 00:00:00.0","REMARK":""},{"SLIP_NO":"RE2018030028","IO_DATE":"2018-03-14 00:00:00.0","REMARK":""},{"SLIP_NO":"RE2018030029","IO_DATE":"2018-03-14 00:00:00.0","REMARK":""}]};
var recursive_f = function(a) {
if (a.length > 0) {
console.log(Object.values(a[0]));
recursive_f(a.slice(1));
}
}
recursive_f(abb.DATA);
注意:我假设你已经构建了这个函数来测试一些东西。因为 for 循环遍历一个数组,你应该使用Array.forEach
or 一个 for loop
。
推荐阅读
- python - 基于函数+1的麻烦切片
- c# - C#:从 OrderedDictionary.Keys 构建 HashSet 的更优雅的方式?
- postgresql - 需要在 Maven 项目中为 PostgreSQL 设置连接池属性
- visual-studio-extensions - 如何从 VS Extension 命令运行自定义项模板向导
- javascript - p5.js:滑块未正确更新
- rust - 如何根据路径后缀创建warp route?
- java - 如何比较Java中的两个瞬间?
- ruby - 为什么我不能在我指定了容量的 Ruby 字符串中处理特定位置?
- python-3.x - 我试图使用opencv从图像中去除眩光,我也有面具
- r - 如何命名预测