如何获取最里面的对象的关键点
How do you get the keys of the innermost object
我有一个对象:
var obj = {
"level1": {
"level2": {
"level3": {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
}
}
}
输出应为:
"k1": "v1",
"k2": "v2",
"k3": "v3"
我写了一个函数
function objRecursive (obj) {
for (var key in obj) {
if(obj[key] === "object") {
objRecursive(obj[key]);
}
console.log(key, ": ", obj[key]);
}
}
但它不会打印最里面的对象的值。我该如何处理这个问题?
function innerKeys(o) {
return Object.keys(o).reduce(function (r, k) {
return typeof o[k] === 'object' ? innerKeys(o[k]) : (r[k] = o[k], r)
}, {})
}
jsfiddle
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 测试对象是否相等和/或对象是否有更多的关键点,但仍然与共同的关键点相等
- Angular.js通过对象关键点上的ng选项进行跟踪
- 设置选项对象关键点:值对以实现带第二个y轴的动态打印
- 设置可变对象关键点
- 当对象的值为数组时,反转该对象的关键点和值
- 角度,观察对象中的特定关键点
- 将多个对象添加到单个关键点
- 将对象添加到Firebase时设置自己的关键点-AngularFire
- 遍历对象并拾取关键点/值
- 如何获取最里面的对象的关键点