检索嵌套在对象中的值
问题描述:
问题:创建一个采用对象(任何大小和深度)的javascript函数,遍历它并运行一些基本字符串替换任何字符串并返回带有修改值的对象。检索嵌套在对象中的值
我对implementaion两个想法,但不能得到一个解决方案之一:
var context = {
"test1": "123",
"test2": "123",
"test2.2": "123",
"test3": {
"test4": "cats",
"test5": {
"test6": "test1",
"test123": "1231232"
}
}
};
思路1)
循环数组,并更改值,
http://php.net/manual/en/language.references.pass.php
以某种方式类似于PHP
思想2)
构建路径(S)的对象阵列,从而取代“test123”值I可以创建这样的阵列:
['test3', 'test5', 'test123']
...这部分是简单的,但我怎么然后将其转换为类似:
context['test3']['test5']['test123'] ?
Thankyou提前。
答
在对象上循环并且如果手边的值是对象,则递归地调用该函数。伪代码:
function replaceInObject (obj, find, repl)
for key in obj
value = obj[key]
if value is object
obj[key] = replaceInObject(value, find, repl)
else
obj[key] = value.replace(find, repl)
return obj