1

日付と年のリストを以下に示します。

<ul>
    <li>Jan 2010</li>
    <li>Mar 2010</li>
    <li>Jan 2011</li>
    <li>Jan 2012</li>
    <li>Mar 2012</li>
</ul>

次に、要素からjqueryを使用してリストされた各値を取得し、以下のコードのように月と年を分けます。

$("ul").children("li").each(function(){
    var val = $(this).text();
    var month = val.split(" ")[0]; //get month Jan, Mar
    var year = val.split(" ")[1];  //get year 2010, 2011, 2012

    var arrDate = new Array();

    //do some code here to store the year and the month in array w/c is arrDate
});

したがって、これは年が繰り返されないので少し注意が必要ですが、毎月同じ年に保存するには、次の図を参照してください。

2010 => Jan
     => Mar
2011 => Jan
2012 => Jan
     => Mar

したがって、配列構造は上記のようになります。ここで、年は一意であり、同じ年の毎月が参照された年に格納されます。

ありがとう!

4

1 に答える 1

4

この場合、古典的な配列は必要ありませんが、Javascriptで標準オブジェクトに変換される連想配列が必要です。

var months = {};
$("ul").children("li").each(function(){
    var val = $(this).text().split(" ");
    if (val[1] in months) months[val[1]].push(val[0]);
    else months[val[1]] = [val[0]];
});

これmonthsが2次元配列です。

注:DOMコンテンツから必要な値を取得することはお勧めできません。なぜあなたはそれをしなければならないのですか?

于 2012-05-26T19:31:25.167 に答える