二维数组构建与解析

时间:2011-12-05 18:35:32

标签: jquery regex arrays

如果这种事情已被涵盖,我道歉,但我找不到足够接近我想要的东西。

我有很长的属性列表。我想把它分解成一个二维数组。

这是我列表中每个“对象”的格式; [[name] [attr1] [attr2] [attr3]]等等。 attr的数量各不相同,但每个对象都以双括号开始和结束。

因此,我想将每个对象存储为数组条目,然后在该数组条目中,将单个大括号部分分解为另一个数组。

这是我到目前为止所拥有的;

$(document).ready(function(){

    var objGet = $(".HIDE").text().trim().split(/\[\[(.*?)\]\]/g);

    $.each(objGet, function() {
        var objStat = objGet.split(/\[(.)\]/g);
    });
});

我知道我做的第二级部分完全错了。我知道如何分解基本列表,但不会将数组条目分解为另一个数组。我也不知道如何输出对象及其统计信息。理想情况下,我希望输出采用这种html格式:

obj1 = <p><span>name</span><span>attr1</span><span>attr2</span></p>
obj2 = <p><span>name</span><span>attr1</span><span>attr2</span></p>
etc

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想你想要像

这样的东西
var parsed = $.map(objGet, function(val) {
   return val.split(/\[(.)\]/g);
});

用于第二个功能。 Map返回一个新数组,其中包含应用于每个项的函数的结果,因此这应该有效。