使用jQuery的$ .unique,不适用于此

时间:2013-05-08 02:55:07

标签: jquery unique

我正在试图了解我的错误在哪里,但现在看不到它,我的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;

警报(结果);

这很好但不是我在这个小提琴中所做的结构:http://jsfiddle.net/moabi/c9nbu/ 我得到的结果是:2013年,2012年,2013年 不是很独特,对吧?! 谢谢

1 个答案:

答案 0 :(得分: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/