【发布时间】:2015-10-22 02:50:47
【问题描述】:
我需要找到从对象中删除所有$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"
}
]
}
任何帮助或建议将不胜感激!
谢谢!
【问题讨论】:
-
不要使用递归,而是制作对象的副本,省略您不想要的属性和值。关于 javascript 中递归的一般说明:它取决于浏览器的内存分配,这并不多,因此递归会占用大量资源,并且除非实施仔细的内存管理,否则不适用于大型数据集。
-
最快的方法是先自己实现,然后寻求帮助以使其更快。
-
您可以使用 for in 循环或更准确地说 for of --> developer.mozilla.org/en/docs/Web/JavaScript/Reference/… 来遍历对象的属性和值
标签: javascript object recursion javascript-objects