2015-12-26 41 views
2

所以我得到了不同的對象,從不同的來源獲取數據。我需要將它們轉換爲單個對象,以便我可以重複它們。AngularJS - 如何將json追加到另一個json對象?

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但如果使用不同的密鑰它纔會起作用。在我的情況下,鍵將是相同的,只有數據會改變。

任何人都可以幫助附加object1object2創建類似object3這是object1+object2

我試圖將它們轉換爲json字符串&並置它們,但它沒有奏效。 陣列接觸功能也不起作用。

+0

閱讀[問]。然後創建MCVE。這非常簡單,但你需要解決你的問題。此外,你需要學習JavaScript。 – Amit

+0

你想要做的是一個對象數組。查看陣列。 – toskv

+0

在對StackOverflow提出問題之前,請做一些基礎研究。參見[JS教程 - JavaScript數組方法](http://www.w3schools.com/js/js_array_methods.asp)。 – georgeawg

回答

3

這只是香草的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

+0

好的,當object1&2與{「key」:「value」}類似時,您的解決方案就可以工作。但在我的情況下,我將object1作爲[{「key」:「value」}]。所以得到的object3得到這樣的東西:[[{「key」:「value1」}],[「key」:「value 2」]] – Vineonardo

+0

@Vineonardo so object1 and object2 are already arrays?你只是想連接它們? – toskv

+0

這就是我想要的,但它不工作。它說concat不是一個函數。 – Vineonardo