如何在不使用额外空间的情况下将所有嵌套对象值更改为“true”?任何人都可以帮助我吗?
我已经尝试过这种方式,但我没有得到处理嵌套对象的逻辑
P.S:请不要关注字符串中的“true”或“false”,因为它是模拟数据,我只想实现我未能做到的逻辑。
const config = {
header:{"logo":"true","nav":"false","user":"false"},
searchResults:{"listView":"false","favorite":"true","share":"false","pagination":"true","filters":"true","sortBy":"false"},
sharedLinks:{},
learnerLinks:{},
lukePreview:{"toc":"false","controls":"false"},
lukeLaunch:{"toc":"false","controls":"false"},
misc:{"import":"true"}
}
function changeBoolean(obj,propName){
for(let i in obj){
if( typeof obj[i] === 'object'){
changeBoolean(obj[i],i)
}
}
return obj
}
console.log(changeBoolean(config,'header'))
尝试分配函数的结果,如下所示:
function changeBoolean(obj, propName) {
for (let i in obj) {
if (typeof obj[i] === "object") {
obj[i] = changeBoolean(obj[i], propName);
} else {
obj[i] = "true";
}
}
return obj;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)