我有一个数组,我开始:
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);
但我得到以下结果:
[{ “键”:{ “ID”:1, “一种”: “表”, “路径”:[ “表”,1]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294950 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:2 “一种”: “表”, “路径” :[ “表”,2]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294953 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:3 “一种”: “表”, “路径” :[ “表”,3]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:4 “一种”: “表”, “路径” :[ “表”,4]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:5 “一种”: “表”, “路径” :[ “表”,5]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}}, [{ “键”:{ “ID”:6中, “种类”: “表” “路径”:[ “表”,6]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:7, “一种”: “表”, “路径” :[ “表”,7]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:8中, “种类”: “表”, “路径” :[ “表”,8]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294954 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:9 “一种”: “表”, “路径” :[ “表”,9]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294955 “CAT1”: “A1”, “许可”: “N”}},{ “键”:{ “ID”:10, “一种”: “表”, “路径” :[ “表”,10]}, “数据”:{ “TXT”:“一些 TXT”, “修饰的”:1461294955 “CAT1”: “A1”, “许可”: “N”}}]
如您所见,它将第二个数组作为实际数组添加到第一个数组。我只想添加服务器响应的内容(基本上应该没有方括号)。我知道我可以使用正则表达式来做到这一点,但这似乎不是一个好的解决方案。如何合并这些数组?
答案 0 :(得分:6)
我相信您正在寻找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));
答案 1 :(得分:2)
尝试使用concat方法......
MergedArray=Array1.concat(Array2,Array3,Array4);
答案 2 :(得分:1)
我想将这个新数组附加到现有数组。
如果您不想创建新阵列,可以使用Array.prototype.push.apply
。 Array.prototype.push.apply
将使用array1
的内容更新您的server_push
。
见下文:
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);