你在 javascript 中合并了两个 json 吗?
问题:
a={id:123,name:john,status:success};
b={id:123,status:inprocess,transId:245};
输出 json 应该像
{id:123,name:john,status:success,transId:245};
a 中的所有值都应该覆盖 b 中的值,并且不常见的键/值应该出现在输出 json 中。
我尝试了一些递归选项,但很难实现输出。
你在 javascript 中合并了两个 json 吗?
问题:
a={id:123,name:john,status:success};
b={id:123,status:inprocess,transId:245};
输出 json 应该像
{id:123,name:john,status:success,transId:245};
a 中的所有值都应该覆盖 b 中的值,并且不常见的键/值应该出现在输出 json 中。
我尝试了一些递归选项,但很难实现输出。
您的a
和b
变量不是有效的 json。
<script>
//change your a and b variable to this.
a={id:123,name:'john',status:'success'};
b={id:123,status:'inprocess',transId:245};
$(document).ready(function(){
$.extend(a,b);
});
</script>
并将a
具有类似的结构
{
id: 123
name: "john"
status: "inprocess"
transId: 245
}
我用过 jquery api
没有jQuery
a={id:123,name:'john',status:'success'};
b={id:123,status:'inprocess',transId:245};
extend(a,b);
其中扩展函数是:
function extend(a, b){
for(var key in b)
if(b.hasOwnProperty(key))
a[key] = b[key];
return a;
}
这很简单
for (var p in a)
b[p] = a[p];
let x = {
a: 1,
b: 2,
c: 3
}
let y = {
c: 4,
d: 5,
e: 6
}
let z = Object.assign(x, y)
console.log(z)
z:
{
a:1,
b:2,
c:4,
d:5,
e:6,
}
---> 注意:对象 z 具有 y 的 c 属性