2012-08-28 104 views
0

我無法將信息放入使用Javascript和分割的數組中。Javascript - 具有分割功能的陣列

var LigneTab= new Array(3,7); //4 Lines, 7 Items 
var reg=new RegExp(" +", "g"); 

Ligne = ("55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086"); //First Line 
LigneTab[0]=Ligne.split(reg); //Split the line in 7 items and place it in line 0 
UltraEdit.messageBox(LigneTab[0,4]]); // Debug msgbox from UltraEdit to show the item 4 'POA' 
+0

什麼是你的麻煩? –

+5

'new Array(3,7)'創建一個數組,其值爲[3,7]。我不認爲這就是你想要的。 – zzzzBov

+1

在JavaScript中,數組是動態的,所以你不必在之前設置大小。 – Jarry

回答

0

考慮到你發佈的代碼,我不明白爲什麼你需要一個二維數組。但是,如果你真的需要一個,你在這裏嘗試是創建它並訪問它的可能方法之一:

var LigneTab = []; // one-dimensional for now 
var reg=new RegExp(" +", "g"); 
var Ligne = "55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086"; 
LigneTab[0] = Ligne.split(reg); 
// Now LigneTab is two-dimensional. 
// LigneTab[0] contains another array with 7 items 
UltraEdit.messageBox(LigneTab[0][4]]); 
+0

這就是我想要的;對不起,我不想這個:例如,我想把第二行:\t \t \t \t var Ligne =(「55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086」); \t \t \t var Ligne2 =(「55074 5453526.0731 236758.7675 478.6960 POA 2012-08-14 GM33P086」); \t \t \t \t LigneTab [0] = Ligne.split(reg); \t \t \t \t LigneTab [1] = Ligne2.split(reg) – WildcatQuebec

+0

這應該工作得很好。另外,請注意我的示例代碼的最後一行,它顯示了從多維數組中讀取的正確方法 – bfavaretto

+0

-WildcatQuebec編輯:這就對了;我需要一個維度來放置一個線,第二個維度是把7個項目:) Thx很多 – WildcatQuebec

0

首先,你初始化數組作爲[3, 7],然後更換了與陣列零值你真正想要的,嵌套:

LigneTab[0]=Ligne.split(reg); //Split the line in 7 items and place it in line 0 

所以LigneTab實際上是[["55062","5453457.4676","236746.6682","472.4027","POA","2012-08-14","GM33P086"], 7]並沒有在沒有價值索引4.

其次,如果確實有> 4個元素,LigneTab[0,4]沒有多大意義,因爲表達式

0, 4 

評估結果爲4,所以你不妨寫LigneTab[4]

你可能想這樣的:

var LigneTab = Ligne.split(/\s+/); 
UltraEdit.messageBox(LigneTab[4]]); // Debug msgbox from UltraEdit to show the item 4 'POA' 

或者,也許你打算把它作爲一個嵌套的列表,在這種情況下,你想:

var LigneTab[0] = Ligne.split(/\s+/); 
UltraEdit.messageBox(LigneTab[0][4]); 
+0

Ligne =(「55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086」); Ligne2 =(「55074 5453526.0731 236758.7675 478.6960 POA 2012-08-14 GM33P086」); var reg = new RegExp(「+」,「g」); LigneTab [0] = Ligne.split(reg); LigneTab [1] = Ligne2.split(reg); UltraEdit.messageBox(LigneTab [0],[4]); // Show the LigneTab [0]商品4賣家 – WildcatQuebec

1

在JavaScript本不必是複雜的:

var Ligne = "55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086" 
    ,LigneTab = [Ligne.split(/\s+/)]; 
    // now LigneTab[0] is: 
    // ["55062", "5453457.4676", "236746.6682", "472.4027", ..., "GM33P086"] 

甚至:

var Ligne = "55062 5453457.4676 236746.6682 472.4027 POA 2012-08-14 GM33P086" 
      .split(/\s+/); 
// Ligne[0]: 
// ["55062", "5453457.4676", "236746.6682", "472.4027", ..., "GM33P086"]