Javascript-具有Split功能的数组

Javascript - Array with Split function

本文关键字:数组 功能 Split 具有 Javascript-      更新时间:2023-09-26

我很难用Javascript和Split将信息放入数组中。

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'

在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"]

考虑到您发布的代码,我不明白您为什么需要二维数组。但如果你真的需要一个,你正在尝试以下一种可能的方法来创建和访问它:

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]]); 

首先,将数组初始化为[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]);