2012-08-12 94 views
-1

我有下面提到的数组。这些数组值来自数据库:动态创建子阵列

如果循环找到APP字符串,那么它应该将剩余字段(包括APP值)添加到新数组。怎么办..帮助plz

var applications=new Array("App", "sub", "child", "App1", "sub1", "sub0", "child1", "App2", "sub2", "child2"); 

回答

2

您的意思是这样的?

var applicationArrays = []; 
for (var i = 0; i < applications.length; i++) { 
    if (applications[i].search("App") != -1) 
     applicationArrays[applicationArrays.length] = [applications[i]]; 
    else 
     applicationArrays[applicationArrays.length - 1].push(applications[i]); 
}; 

你的阵列将产生如下:

chrome console log

+0

如果字符串以APP开始,然后从那里创建新的数组。它应该自动为上面的Array创建3个数组,结果如下。注意数组b有4个值。 数组b(“App”,“sub”,“child”) 数组b(“App1”,“sub1”,“sub0”,“child1”) array c(“App2”,“sub2” ,“child2”) – Nash 2012-08-12 22:05:39

+0

所以你想要3个单独的数组而不是数组数组? – jeff 2012-08-12 22:06:42

+1

_“它应该自动创建3个数组”_--这就是jeff的代码所做的(+1),将每个子数组作为“applicationArrays”的一个元素。据推测,您需要根据此答案将单个数组添加到某个“主”数组中,因为您不知道将创建多少个数组。如果您想要别的东西,请编辑您的问题以准确显示所需输出的内容。 – nnnnnn 2012-08-12 22:08:03