gpt4 book ai didi

javascript - 如何在Javascript中从一个对象中删除所有空白对象?

转载 作者:行者123 更新时间:2023-12-01 15:03:52 26 4
gpt4 key购买 nike

如何在Javascript中从一个对象中删除所有空白对象?
像这样

const test={a:'a',b:{},c:{c:{}}}
如何获得结果:
test={a:'a'}

最佳答案

下面的递归函数将删除所有空对象。

function removeEmpty(obj) {
Object.keys(obj).forEach(k => {
if (obj[k] && typeof obj[k] === 'object' && removeEmpty(obj[k]) === null) {
delete obj[k];
}
});

if (!Object.keys(obj).length) {
return null;
}
}
工作演示

function removeEmpty(obj) {
Object.keys(obj).forEach(k => {
if (obj[k] && typeof obj[k] === 'object' && removeEmpty(obj[k]) === null) {
delete obj[k];
}
});

if (!Object.keys(obj).length) {
return null;
}
}

const test1 = {data:{a:{}}};
removeEmpty(test1);
console.log(test1); // {}

const test2 = {data:{a:{}, b:1}};
removeEmpty(test2);
console.log(test2); // {data:{b: 1}}

const test3 = {a:'a',b:{},c:{c:{}}};
removeEmpty(test3);
console.log(test3); // {a: 'a'}

关于javascript - 如何在Javascript中从一个对象中删除所有空白对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63432654/

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