我一直在修补并且正在寻找循环等,然后认为可能有更快的方法来做到这一点。然后我迷失在lodash docs中......
无论如何,我想要运行以下对象 -
{
stuff: {
thing1: 'value1',
thing2: 'value2',
thing3: 'value3'
},
something: 'value4'
}
- 并返回:
{
thing1: 'value1',
thing2: 'value2',
thing3: 'value3',
something: 'value4'
}
也就是说,我希望消除stuff
级别并将所有内容都视为兄弟姐妹。我的意思是简单/简洁的方式。我尝试了_.flatten
和._flattenDepth
,但它们只适用于数组(返回一个空数组)。
由于
答案 0 :(得分:1)
我认为你最好/唯一的赌注是一个循环。
function flattenObject(obj, res) {
res = res ? res : {};
Object.keys(obj).forEach(function(d) {
if (typeof obj[d] === 'object') return flattenObject(obj[d], res);
res[d] = obj[d];
});
return res;
}
console.log(flattenObject(a));