gpt4 book ai didi

javascript - 将命名对象替换为该对象的属性

转载 作者:行者123 更新时间:2023-12-03 06:24:46 25 4
gpt4 key购买 nike

我一直在修补并正在研究 for 循环等,然后认为可能有一种更快的方法来做到这一点。然后我迷失在 lodash 文档中......

无论如何,我想运行以下对象 -

{ 
stuff: {
thing1: 'value1',
thing2: 'value2',
thing3: 'value3'
},
something: 'value4'
}

——然后​​返回:

{
thing1: 'value1',
thing2: 'value2',
thing3: 'value3',
something: 'value4'
}

也就是说,我想消除 stuff 级别并将所有内容视为 sibling 。我的意思是,以一种简单/简洁的方式。我尝试了 _.flatten._flattenDepth 但它们仅适用于数组(返回空数组)。

谢谢

最佳答案

我认为你最好/唯一的选择是循环。

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));

关于javascript - 将命名对象替换为该对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com