拥有对象:
Nested1: {
"nested21": {
"nested31": {
value: "im sooo nested"
} ,
"nested32": {
value: "im sooo nested"
}
},
"nested22": {
"nested31": {
value: "im sooo nested"
} ,
"nested32": {
value: "im sooo nested"
}
}
}
如果可能存在未定义数量的嵌套对象,我希望得到类似的内容:
Nested1.nested21.nested31 - im sooo nested Nested1.nested21.nested32 - im sooo nested
等等
我正在考虑一个递归函数,但是如何在内存中保留链式密钥?
答案 0 :(得分:0)
搞定了
var obj, traverse;
obj = {
a: {
b: 1,
c: 2
},
d: {
e: 3,
f: 4
}
};
traverse = function(node, path) {
var pairs;
if (!(pairs = _(node).pairs()).length) {
return [
{
keys: path,
value: node
}
];
} else {
return [].concat.apply([], _(pairs).map(function(kv) {
return traverse(kv[1], path.concat(kv[0]));
}));
}
};
console.log(traverse(obj, []));