合并这两个数组

Merge these 2 arrays

我有一个开始的数组:

var array1 = [{"key":{"id":1,"kind":"Table","path":["Table",1]},"data":{"txt":"some txt","modified":1461294950,"cat1":"a1","permission":"n"}},
{"key":{"id":2,"kind":"Table","path":["Table",2]},"data":{"txt":"some txt","modified":1461294953,"cat1":"a1","permission":"n"}},
{"key":{"id":3,"kind":"Table","path":["Table",3]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":4,"kind":"Table","path":["Table",4]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":5,"kind":"Table","path":["Table",5]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}}];

这个数组有 5 个元素。然后我从我的服务器得到 5 个结果。我想将这个新数组附加到现有数组。

所以我从我的服务器收到这个:

var server_response = [{"key":{"id":6,"kind":"Table","path":["Table",6]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":7,"kind":"Table","path":["Table",7]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":8,"kind":"Table","path":["Table",8]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":9,"kind":"Table","path":["Table",9]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}},
{"key":{"id":10,"kind":"Table","path":["Table",10]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}}];

所以要合并它们,我去:

console.log(array1.push(server_response);

但我得到以下结果:

[{"key":{"id":1,"kind":"Table","path":["Table",1]},"data":{"txt":"some txt","modified":1461294950,"cat1":"a1","permission":"n"}},{"key":{"id":2,"kind":"Table","path":["Table",2]},"data":{"txt":"some txt","modified":1461294953,"cat1":"a1","permission":"n"}},{"key":{"id":3,"kind":"Table","path":["Table",3]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},{"key":{"id":4,"kind":"Table","path":["Table",4]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},{"key":{"id":5,"kind":"Table","path":["Table",5]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},[{"key":{"id":6,"kind":"Table","path":["Table",6]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},{"key":{"id":7,"kind":"Table","path":["Table",7]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},{"key":{"id":8,"kind":"Table","path":["Table",8]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},{"key":{"id":9,"kind":"Table","path":["Table",9]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}},{"key":{"id":10,"kind":"Table","path":["Table",10]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}}]]

如您所见,它将第二个数组作为实际数组添加到第一个数组。我只想添加服务器响应的内容(基本上不应该有方括号)。我知道我可以使用正则表达式来做到这一点,但这似乎不是一个好的解决方案。如何合并这些数组?

I would like to append this new array to the existing.

如果您不想创建新数组,可以使用Array.prototype.push.applyArray.prototype.push.apply 将用 server_push 的内容更新您的 array1

见下文:

var array1 = [{"key":{"id":1,"kind":"Table","path":["Table",1]},"data":{"txt":"some txt","modified":1461294950,"cat1":"a1","permission":"n"}},
{"key":{"id":2,"kind":"Table","path":["Table",2]},"data":{"txt":"some txt","modified":1461294953,"cat1":"a1","permission":"n"}},
{"key":{"id":3,"kind":"Table","path":["Table",3]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":4,"kind":"Table","path":["Table",4]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":5,"kind":"Table","path":["Table",5]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}}];

var server_response = [{"key":{"id":6,"kind":"Table","path":["Table",6]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":7,"kind":"Table","path":["Table",7]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":8,"kind":"Table","path":["Table",8]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":9,"kind":"Table","path":["Table",9]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}},
{"key":{"id":10,"kind":"Table","path":["Table",10]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}}];

Array.prototype.push.apply(array1, server_response);

document.body.textContent = JSON.stringify(array1);

我相信你正在寻找concat

var array1 = [{"key":{"id":1,"kind":"Table","path":["Table",1]},"data":{"txt":"some txt","modified":1461294950,"cat1":"a1","permission":"n"}},
{"key":{"id":2,"kind":"Table","path":["Table",2]},"data":{"txt":"some txt","modified":1461294953,"cat1":"a1","permission":"n"}},
{"key":{"id":3,"kind":"Table","path":["Table",3]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":4,"kind":"Table","path":["Table",4]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":5,"kind":"Table","path":["Table",5]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}}];
var server_response = [{"key":{"id":6,"kind":"Table","path":["Table",6]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":7,"kind":"Table","path":["Table",7]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":8,"kind":"Table","path":["Table",8]},"data":{"txt":"some txt","modified":1461294954,"cat1":"a1","permission":"n"}},
{"key":{"id":9,"kind":"Table","path":["Table",9]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}},
{"key":{"id":10,"kind":"Table","path":["Table",10]},"data":{"txt":"some txt","modified":1461294955,"cat1":"a1","permission":"n"}}];
console.log(array1.concat(server_response));

尝试连接方法...

MergedArray=Array1.concat(Array2,Array3,Array4);