AngularJS - 如何将json附加到另一个json对象?

时间:2015-12-26 11:02:23

标签: javascript arrays angularjs json append

所以我要使用不同的对象,从不同的来源获取数据。我需要将它们转换为单个对象,以便我可以重复它们。

object1 = {
"key1":"value one",
"key2":"value two"
}

object2 = {
"key1":"value three",
"key2":"value four"
}

我需要的是

object3 = [{
"key1":"value one",
"key2":"value two"},
{
"key1":"value one",
"key2":"value two"}
}];

我尝试过angular.merge,但只有在密钥不同时才有效。在我的情况下,键将是相同的,只有数据会改变。

任何人都可以帮助将object1附加到object2,以创建object3 object1+object2之类的内容。

我尝试将它们转换为json string&连接它们但它没有用。 阵列接触功能也不起作用。

1 个答案:

答案 0 :(得分:3)

这只是vanilla javascript。你想从对象中创建一个数组。

var object1 = {
  "key1": "value one",
  "key2": "value two"
}

var object2 = {
  "key1": "value three",
  "key2": "value four"
}

var object3 = []; // empty array

// add the other objects to the array
object3.push(object1);
object3.push(object2);

如果你的对象已经是数组而你只想连接它们,你可以在数组上使用 concat 函数。

var object1 = [{
  key: 'abc',
  value: 1
}];
var object2 = [{
  key: 'cbd',
  value: 2
}];

// use the concat function to concatenate the arrays
var object3 = object1.concat(object2);

您可以通过阅读here找到的文档找到有关数组的更多信息。

如果您的对象是firebaseArray对象,则它们拥有自己的API。可以找到更多here