2013-05-15 45 views
1

我想將數據添加到數組,並得到一個奇怪的結果。將數據添加到數組的Javascript數組

var arr = []; 

var obj1 = { data: ["a","b"]}; 
var obj2 = { data: ["c","d"]}; 

arr.push(obj1); 
arr[0].data.push(obj2.data); 

console.log(arr[0].data); 

// 1) what i want: [ ["a", "b"], ["c", "d"] ] 
// 2) what i get: ["a", "b", ["c", "d"] ] 

任何想法如何,我可以設定,讓我得到像格式化數據:[[ 「A」, 「B」],[ 「C」, 「d」]]? 下面是它一個小提琴:http://jsfiddle.net/oakley808/UCQ65/

+3

你爲什麼要創建對象,如果你只想陣列? –

+0

^^他說什麼。另外,這根本不是一個「奇怪」的結果 - 你將一個數組作爲一個元素插入到另一個數組中。 –

+0

這是一個簡化的例子。對象實際上更復雜。 –

回答

6

試試這個:

var arr = []; 

var obj1 = { data: ["a","b"]}; 
var obj2 = { data: ["c","d"]}; 

arr.push(obj1.data); 
arr.push(obj2.data); 

console.log(arr); 

enter image description here

+2

@emrenevayeshirazi看看圖片,我有一個陣列與2個其他陣列與2個元素 –

+0

哈哈,你是對的。我誤解了他的「我想要的」部分。 –

+0

你是對的@BrunoCroysFelthes。但令人遺憾的是,數組「arr」需要包含對象。 ARR [{數據[[X1,Y1],[X2,Y2]]},... {},... {數據[[X8,Y8],[X9,Y9]]}]。我認爲我原來的帖子太過於簡化了。 –