gpt4 book ai didi

javascript - 如何在 Javascript 中检查每个对象字段的深度

转载 作者:行者123 更新时间:2023-12-02 21:18:05 26 4
gpt4 key购买 nike

我的 React Native 应用程序中有一个导航功能,它将在开发人员模式下传递给它的所有参数输出到控制台,有时我向参数发送了一个大存储,但它无法输出。获取有关循环对象引用的错误,因为该对象非常深。因此,我决定创建一个函数来检查对象的所有字段,并依赖它将信息输出到控制台,例如,如果对象字段的深度超过 1 层。

const notDeepObj = {
name: 'John',
surname: 'Robert',
age: 28,
family: false,
};
const deepObj = {
name: 'John',
surname: 'Robert',
bankAccount: {
accounts: 2,
cash: true,
credit false,
wasCreated: {
city: 'New-York',
date: '12.02.2020.',
}
}
}
function checkDepthOfObject(obj){}

如果对象不深,它必须返回对象本身,如下所示:

checkDepthOfObject(notDeepObj) 
//it will return:
{
name: 'John',
surname: 'Robert',
age: 28,
family: false,
};

对于深度对象,它必须返回所有非深度字段并加上对象的深度字段的标志:

checkDepthOfObject(notDeepObj) 
//it will return:
{
name: 'John',
surname: 'Robert',
bankAccount: '[DEEP_OBJECT]'
};

您能推荐我最好的方法吗?

最佳答案

使用Object.entriesmap并检查typeof值。

const notDeepObj = {
name: "John",
surname: "Robert",
age: 28,
family: false
};
const deepObj = {
name: "John",
surname: "Robert",
bankAccount: {
accounts: 2,
cash: true,
credit: false,
wasCreated: {
city: "New-York",
date: "12.02.2020."
}
}
};
function checkDepthOfObject(obj) {
return Object.fromEntries(
Object.entries(obj).map(([key, value]) => [
key,
typeof value === "object" ? "[DEEP_OBJECT]" : value
])
);
}

console.log(checkDepthOfObject(notDeepObj));
console.log(checkDepthOfObject(deepObj));

关于javascript - 如何在 Javascript 中检查每个对象字段的深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60916533/

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