1

我正在尝试编写一个 jquery $.each() 函数,该函数接受一个数组并将该数组中的重复项放入另一个数组中。我知道如何使用如下所示的 for 循环来做到这一点,但似乎无法在 $.each 函数中弄清楚。任何帮助,将不胜感激。谢谢。

$.duplicates = function(arr) {
    dup = [];
    for (var i = 0; i < arr.length; i++){
        for (var j = i + 1; j < arr.length; j++){
            if (arr[i] === arr[j]){
                dup.push(arr[i]);
            }
        }
    }
    return dup;
};
4

1 回答 1

0

尝试这个

$.duplicates = function (arr) {
    dup = []
    $.each(arr, function (i, val1) {
        $.each(arr, function (j, val2) {
            if (val1 === val2 && i !== j) {
                if ($.inArray(val1, dup) === -1) dup.push(val1);
            }
        });
    });
    return dup;
};

检查小提琴

于 2013-06-10T20:51:35.027 回答