动态创建 jS/jQuery 多重数组
我在为我的项目之一创建特定数组时遇到问题。我需要并始终包含这些字段的数组:
[id |类型 | nbItems]
然后就可以了:
m_名称:m_值:
但这可以是随机的,我可以有 1 到无限的 m_name/m_value。
[id | Type | nbItems] -> m_name : weblink
m_value : http://xxx.com
[id | Type | nbItems] -> m_name : text
m_value : Google
m_name : icon
m_value : icon.png
m_name : weblink
m_value : http://xxx.com
希望它足够清楚......
编辑
function readItem()
{
var array = XMLDoc.getElementsByTagName("m_params")[curParam].getAttribute("enc:arraySize");
// m_params => nBItem
var node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_type")[0];
var type = node.childNodes[0].nodeValue;
// type
node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id")[XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id").length-1];
var id = node.childNodes[0].nodeValue;
// id
var i;
for (i = 0; i < array; i++) {
readValue(i, XMLDoc);
}
itemCpt = itemCpt + i + 1;
var child = XMLDoc.getElementsByTagName("m_childs")[curParam].getAttribute("enc:arraySize");
curParam++;
for (var c = 0; c < child; c++) {
readItem(curParam, XMLDoc);
}
}
function readValue(i)
{
var item;
var node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_name")[i];
item = node.childNodes[0].nodeValue;
// m_name
node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_value")[i];
item = item.concat('\n' + node.childNodes[0].nodeValue);
// m_value
}
I have a problem to create a specific array for one of my project. I need and array with always these fields :
[id | Type | nbItems]
And then on it :
m_name : m_value :
But this can be random, i can have 1 to infinite m_name/m_value.
[id | Type | nbItems] -> m_name : weblink
m_value : http://xxx.com
[id | Type | nbItems] -> m_name : text
m_value : Google
m_name : icon
m_value : icon.png
m_name : weblink
m_value : http://xxx.com
Hope it's clear enough...
EDIT
function readItem()
{
var array = XMLDoc.getElementsByTagName("m_params")[curParam].getAttribute("enc:arraySize");
// m_params => nBItem
var node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_type")[0];
var type = node.childNodes[0].nodeValue;
// type
node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id")[XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id").length-1];
var id = node.childNodes[0].nodeValue;
// id
var i;
for (i = 0; i < array; i++) {
readValue(i, XMLDoc);
}
itemCpt = itemCpt + i + 1;
var child = XMLDoc.getElementsByTagName("m_childs")[curParam].getAttribute("enc:arraySize");
curParam++;
for (var c = 0; c < child; c++) {
readItem(curParam, XMLDoc);
}
}
function readValue(i)
{
var item;
var node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_name")[i];
item = node.childNodes[0].nodeValue;
// m_name
node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_value")[i];
item = item.concat('\n' + node.childNodes[0].nodeValue);
// m_value
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您需要添加具有某些已知值的项目,您可以尝试以下操作:
If you need to add the items with some known values you can try this: