【发布时间】:2011-04-27 15:07:34
【问题描述】:
我需要动态创建一个Array,但是实在找不到解决办法……
基本上我需要:一个与类型和其中项目数相关联的 id。 然后对于每个 id,我需要添加可变数量的项目。
所以最后的例子必须是这样的:
id : 59 | type : combo_box | NbItem : 1
Item 1
name : text | value : test
name : icon | value : test.png
id : 60 | type : search_box | NbItem : 2
Item 1
name : text | value : Yahoo
name : icon | value : yahoo.png
name : weblink | value : yahoo.com
Item 2
name : text | value : Bing
name : icon | value : Bing.png
name : weblink | value : Bing.com
我再次指出它必须是动态的。我需要在执行过程中添加,比如array[60][name][0] = text
编辑
我正在尝试这样进行,但失败了:
var dropMenuArray;
var node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_type")[0];
type = node.childNodes[0].nodeValue;
node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id")[XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id").length-1];
id = node.childNodes[0].nodeValue;
if ((type.indexOf('combo_button') != -1 && type.indexOf('combo_button_item') == -1) || type.indexOf('search_box') != -1) {
dropMenuArray[id] = {
Type: type,
items: []
};
alert('Index : ' + id + ' - Type : ' + type);
}
我的意思是没有警报,当我将数组创建放在commantary上时,我会弹出警报。
【问题讨论】:
-
到目前为止你实际尝试过什么?
-
您可能应该将每个组存储在一个对象中,然后拥有这些对象的数组。
-
+1 到Musual。如果您曾经用 PHP 编写过代码,那么您一定知道有两种类型的数组:索引数组和键值数组。在 JavaScript 中,键值数组被称为对象。当您使用 [name] 时,它可能就是您想要的。
-
您能否详细说明您将如何处理这些数据?
-
第 1 行:
var dropMenuArray = [ ];
标签: javascript jquery arrays json multidimensional-array