1

私は自分の間違いがどこにあるかを理解しようとしていますが、今はそれを見ることができません.jsは有効で、他のhtmlテンプレートで動作しています:

//DATES : wrap the submenu by year
var arr = $("#submenu a").map(function () {
return $(this).attr('year');
}).get();
var results = $.unique(arr);
var i;

アラート (結果);

これは正常に動作しますが、この Fiddle で作成した構造では機能しません: http://jsfiddle.net/moabi/c9nbu/ そして結果として、 year-2013,year-2012,year-2013 は本当にユニークではありませんよね? ! ありがとうございました

4

1 に答える 1

2

jQuery.unique()文字列の配列ではなく、jQuery ドキュメントに従って DOM 要素の配列から重複をソートして削除するだけです。

文字列の配列から複製を削除する場合は、次の関数を使用できます。

function removeDups(arr) {
    var result = [], map = {}, item;
    for (var i = 0; i < arr.length; i++) {
        item = arr[i];
        if (!map[item]) {
            result.push(item);
            map[item] = true;
        }
    }
    return(result);
}

これを使用するために変更された jsFiddle は次のとおりです: http://jsfiddle.net/jfriend00/MBMsz/

于 2013-05-08T03:17:15.520 に答える