【问题标题】:Dynamically create jS/jQuery Multiple Array动态创建 jS/jQuery 多数组
【发布时间】:2011-04-20 14:11:34
【问题描述】:

我在为我的一个项目创建特定数组时遇到问题。我总是需要这些字段并排列:

[id |类型 | nbItems]

然后就可以了:

m_name : m_value :

但这可以是随机的,我可以有 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

}

【问题讨论】:

    标签: javascript jquery arrays multidimensional-array


    【解决方案1】:

    如果你需要添加一些已知值的项目,你可以试试这个:

    var itemsList = [];
    
    itemsList.push({
            id:1,
            Type:"Some",
            nbItems:[{
                 m_name : "weblink",
                 m_value : "http://xxx.com"
            }]
    });
    
    
    itemsList.push({
            id:2,
            Type:"AnotherSome",
            nbItems:[{
                m_name : "text",
                m_value : "Google"
            },{
                m_name : "icon",
                m_value : "icon.png"
            },{
                m_name : "weblink",
                m_value : "http://xxx.com"
            }]
    });
    

    【讨论】:

    • 是的,但everythink必须是动态的......项目也是
    • 你是如何动态获取项目的?
    猜你喜欢
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多