2011-12-05 106 views
1

如果已經涵蓋了這類事情,我很抱歉,但是我找不到任何接近我想要使用的東西。二維陣列構建和解析

我有一個非常長的屬性列表。我想將其分解成2維數組。

這是我列表中每個「對象」的格式; [[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 

任何幫助,將不勝感激。

+0

您可以在列表中發佈多個「對象」嗎? – FailedDev

+0

你爲什麼不使用JSON? – Usman

回答

0

我猜你想要的東西像

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

爲第二功能。 Map返回一個新數組,其中包含應用於每個項目的函數的結果,所以這應該起作用。

+0

如果我想在一個物體的屬性上工作,我該怎麼做?比方說,例如,我想添加一個css屬性到obj7的attr3。 –