Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套3个不同的对象_Javascript - Fatal编程技术网

Javascript 嵌套3个不同的对象

Javascript 嵌套3个不同的对象,javascript,Javascript,我想要这样的东西 var a=[{"id":1,"total":1000},{"id":2,"total":2000}] var b=[{"id":1,"credit":500},{"id":2,"credit":1000}] var c=[{"id":1,"reversed":500},{"id":2,"amount":1000}] 是否可以通过JavaScript函数实现这一点?使用和尝试这种方法 var a=[{“id”:1,“total”:1000},{“id

我想要这样的东西

    var a=[{"id":1,"total":1000},{"id":2,"total":2000}]
    var b=[{"id":1,"credit":500},{"id":2,"credit":1000}]
    var c=[{"id":1,"reversed":500},{"id":2,"amount":1000}]
是否可以通过JavaScript函数实现这一点?

使用和尝试这种方法

var a=[{“id”:1,“total”:1000},{“id”:2,“total”:2000}];
var b=[{“id”:1,“credit”:500},{“id”:2,“credit”:1000}];
var c=[{“id”:1,“reversed”:500},{“id”:2,“amount”:1000}];
var result=$.extend(true,{},a,b,c);
var newArray=[];
$.each(结果、函数(索引、值){
var ind=value.id;
删除值['id'];//在此处取消设置id
var金额=价值;
push({id:ind,amount:amount});
});
log(newArray)
。作为控制台包装{最大高度:100%!重要;顶部:0;}

您可以使用哈希表作为具有相同
id的对象的引用。迭代所有数组,使用子数组获取键并将值分配给引用的对象

使用的方法:

  • ,以迭代数组

  • ,用于获取对象的所有自己的关键帧

var array1=[{“id”:1,“total”:1000},{“id”:2,“total”:2000}],
array2=[{“id”:1,“credit”:500},{“id”:2,“credit”:1000}],
数组3=[{“id”:1,“reversed”:500},{“id”:2,“amount”:1000}],
hash=Object.create(null),
结果=[];
[array1,array2,array3].forEach(函数(a){
a、 forEach(函数(o){
如果(!哈希[o.id]){
散列[o.id]={};
push(hash[o.id]);
}
Object.keys(o).forEach(函数(k){
散列[o.id][k]=o[k];
});
});
});
控制台日志(结果)

。作为控制台包装{最大高度:100%!重要;顶部:0;}
是的,这是可能的。试试看。如果你陷入困境,发布你尝试过的东西,我们可以帮助你。另外:这不是JSON。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么就不是JSON。这些只是JavaScript对象。具体来说,它们是数组,里面有对象。拜托,你试过什么?当然有可能。试试循环,让我们知道你进展如何
var newArray=[{"id":1,
                       "amount":
                         {"total":1000,"credit":500,"reversed":500}}
                       {"id":2,
                       "amount":
                         {"total":2000,"credit":1000,"reversed":1000}}
               ]