2015-09-04 58 views
1

对于数组,我是非常新的。之前我只是通过htm编码所有东西。从数组的值创建一个数组

这是我的问题。是否有可能从另一个数组的值创建一个数组?例如,我想创建一个“aaa”等数组。可能吗?任何帮助,将不胜感激。谢谢!

更新:

我使用数组作为菜单。当我点击一个它会做这样的事情。

a=4; 

for (a=c; a<d; a++){ 

$("#pm-page-main") .append("<div class=\"main-box\" id=\"m-box"+a+"\"><div class=\"title-box\"><span class=\"reg-wht-bold\">"+pmmain[a]+"</span></div><BR><BR><img src=\"imgs\\"+pmmain[a]+".png\"></div>").hide().fadeIn(75);\} 

“#highlights-enclosure”是一种在网站中突出显示点击项目的阶段。

既然菜单在网页中是可见的,假设我想单击第二项“bbb”。点击后,会出现另一个菜单,它应该有它的孩子。当点击其中一个孩子时,孩子们会替换“#highlight-enclosure”阶段中的“bbb”。

+0

你的意思是创建一个名为'aaa'在'pmmain'一个数组?像'pmmain [0] = {“aaa”:[]}',或者更简单一些'pmmain = [[“aaa”],“bbb”,..]'?还是一个新的独立数组,其中只有“'aaa”''值? –

+0

我更新了我的问题,因为它缺少信息 – Selim

+2

我不知道你想要做什么。但我几乎可以肯定你做错了。 – connexo

回答

0

访问特定索引,敷在使用new Array括号

var pmmain =["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii", "jjj", "kkk", "lll", "mmm", "nnn", "ooo", "ppp"]; 
 

 
var newArray = [pmmain[0]]; 
 

 
console.log(newArray);

避免,因为如果在数组元素中的传递恰好是一个数,它被认为是用于arrayLength参数

var pmmain =[1, "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii", "jjj", "kkk", "lll", "mmm", "nnn", "ooo", "ppp"]; 
 

 
var newArray = new Array(pmmain[0]); 
 

 
console.log(newArray);

+0

不要使用'new Array(pmmain [0])'。如果'pmmain [0]'是一个数字,它不会做正确的事情。 – Barmar

+0

@Barmar,哇!我不知道。是否因为传递数字是数组长度的参数? – AmmarCSE

+1

是的,这是问题所在。 'new Array(5)'创建一个包含5个空元素的数组。 – Barmar

0

当你创建一个新的数组你可以push值是:

var first = ['a', 'b', 'c']; 
var second = []; 
second.push(first[0]); 
second.push(first[1]); 

希望这有助于!

0
var pmain = ["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii", "jjj", "kkk", "lll", "mmm", "nnn", "ooo", "ppp"]; 
var subArr = function(arr) { 
var newArr = [] 
    for (var i in arr) { 
     var each = [arr[i]]; 
     for (var j in each) { 
      each = each[j].split(""); 
     } 
     newArr.push(each); 
    } 
return newArr; 
} 
0

我假设你希望把你的当前数据结构弄成这个样子:

[['aaa'], ['bbb']] // and so on 

如果是这样的话,只是map它:

var newArray = pmmain.map(function(item) { 
    return [item]; 
}); 

如果你想让你的数据结构看起来像这样:

[['a','a','a'], ['b','b','b']] // etc. 

那么做到这一点:

var newArray = pmmain.map(function(item) { 
    return [item.split('')]; 
});