动态创建 jS/jQuery 多重数组

发布于 2024-11-02 15:32:33 字数 1881 浏览 0 评论 0原文

我在为我的项目之一创建特定数组时遇到问题。我需要并始终包含这些字段的数组:

[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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白鸥掠海 2024-11-09 15:32:33

如果您需要添加具有某些已知值的项目,您可以尝试以下操作:

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"
        }]
});

If you need to add the items with some known values you can try this:

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"
        }]
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文