2013-04-02 36 views
2

我正在通過JSON數據循環取出日期並將它們放入數組中。以下代碼是循環內我的代碼的一個例子。在javascript中連接多個數組不是concat

// get the JSON data 
var foo = "2013-03-28"; 

// split foo into an array 
var bar = foo.split('-');  // Output ["2013", "03", "08"] 

// putting array in necessary format 
for (a in bar) { 
    bar[a] = parseInt(arr[a]); // Output [2013, 3, 8] 
} 

現在,我有我的陣列我需要的方式,它循環我想添加到一個更大的陣列,例如如下

// Trying to add each new array to a bigger array 
baz += bar 

// Sample output I'm looking for 
baz = [ [2013, 3, 8], [2013, 2, 12], [2013, 1, 22], ... ] 

幫助將不勝感激

+2

[你不應該在陣列使用的for..in!(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/ for ... in#arrayNote)Where ord無論如何,呃是重要的。 – hifier

回答

5
下一次

使用push將元素添加到數組的末尾:

baz.push(bar); 
1

VAR富= 「2013」​​ - 「03」 - 「28」不是字符串。要一個陣列中的添加元素,使用推送方法..

var foo = "2013-03-28";// This is a string 

// split foo into an array 
var bar = foo.split('-');  // Output ["2013", "03", "08"] 

baz.push(bar); 

它還做同樣

例子:

var array = []; 
for(var i=0;i<5;i++) 
{ 
    var a = [2012,i,25]; 
    array.push(a); 
    alert(array); 
} 

Running Fiddle

+0

@ user2234467你錯了。你很可能使用'alert'或'document.write'來查看數組的內容。因爲這會將所有的數組擴展爲逗號分隔的字符串,所以它看起來像是一個單維數組,當它真的是多維的。你應該總是使用'console.log'進行調試。 – Paulpro

+0

看到我編輯過的帖子..小提琴由一個數組組成,其中每個元素是一個由3個元素組成的數組 –

+0

@ user2234467 [看這JSFiddle](http://jsfiddle.net/skAAy/),以幫助你理解以及 – Paulpro

相關問題