我需要找到从对象中删除所有$meta
属性及其值的最快方法,例如:
{
"part_one": {
"name": "My Name",
"something": "123",
"$meta": {
"test": "test123"
}
},
"part_two": [
{
"name": "name",
"dob": "dob",
"$meta": {
"something": "else",
"and": "more"
}
},
{
"name": "name",
"dob": "dob"
}
],
"$meta": {
"one": 1,
"two": 2
}
}
应该变成如下形式,因为$meta
属性可能位于对象中的任何点,所以可能需要某种形式的递归。
{
"part_one": {
"name": "My Name",
"something": "123"
},
"part_two": [
{
"name": "name",
"dob": "dob"
},
{
"name": "name",
"dob": "dob"
}
]
}
任何帮助或建议将不胜感激!
谢谢大家!
8条答案
按热度按时间lrl1mhuk1#
一个简单的自调用函数就可以做到这一点。
8yparm6h2#
正如@floor上面评论的:
第一个月
ma8fv8wu3#
8mmmxcuj4#
当任意键位于对象中的任意级别时,我使用**@Joseph Marikle**的引用函数创建了此函数
示例:
cvxl0en25#
(抱歉,我还没有足够的信誉点直接评论。
仅供参考,type of null ==='object',因此在@joseph-marikle提供的removeMeta()示例中,函数将递归空值。
在此阅读更多信息:why is typeof null "object"?
zaqlnxep6#
下面是一个函数,它接受一个字符串或一个字符串数组来递归移除(基于Joseph的答案):
xu3bshqb7#
nhhxz33t8#
这样可以避免循环引用的任何问题