Gop*_*esh 0 javascript arrays recursion json
我正在尝试从 JavaScript 中的另一个对象映射一个对象。喜欢
var requestObj = {
id: "",
name: "",
age: "",
obj: {
id: ""
}
};
var processedObj = {
id: 10,
name: "John Doe",
age: 20,
family: true,
obj: {
id: 100,
text: "Obj Desc"
}
};
Run Code Online (Sandbox Code Playgroud)
如果我调用一个方法
format(requestObj, processedObj);
Run Code Online (Sandbox Code Playgroud)
我需要得到输出
{
id: 10,
name: "John Doe",
age: 20,
obj: {
id: 100
}
Run Code Online (Sandbox Code Playgroud)
如果没有内部对象,一切都正常。我做了一个递归方法,但它没有按预期工作。请看一看
在您的原始代码中需要更正一些事情,当您format()
递归调用函数时,您没有分配从函数返回的结果。format()
对我来说,函数的参数似乎也不正确。
我稍微修改了你的代码。它会输出您想要的格式。
var requestObj = {
id: "",
name: "",
age: "",
obj: {
id: ""
}
};
var processedObj = {
id: 10,
name: "John Doe",
age: 20,
family: true,
obj: {
id: 100,
text: "Obj Desc"
}
};
format(requestObj, processedObj);
function format(requestObj, processedObj) {
for (var keys in processedObj) {
if (requestObj.hasOwnProperty(keys)) {
if (typeof processedObj[keys] == 'object') {
requestObj[keys] = format(requestObj[keys], processedObj[keys]);
} else {
requestObj[keys] = processedObj[keys];
}
}
}
return requestObj;
}
console.log(requestObj)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3074 次 |
最近记录: |