题目描述

找出数组 arr 中重复出现过的元素

示例1

输入

[1, 2, 4, 4, 3, 3, 1, 5, 3]

输出

[1, 3, 4]
unction duplicates(arr) {
    var a=arr.sort(),b=[];
    for(var i in a){
        if(a[i]==a[i-1] && b.indexOf(a[i])==-1) b.push(a[i]); 
    }
    return b;
}//先排序,如果后一个与前一个相等且未保存,则保存。

// -----------------------------------------------------------
function duplicates(arr) {
 var result = [];
    arr.forEach(function(elem){
       if(arr.indexOf(elem) !=arr.lastIndexOf(elem) && result.indexOf(elem) == -1){
           result.push(elem);
       }
    });
    return result;
}
// ----------------------------------------------------------
function duplicates(arr) {
    var res = []
    arr.forEach(function(val) {
        var len = arr.length
        var len2 = arr.filter(function(v) {
            return v!=val
        }).length
        if(len != len2+1 && !res.some(function(v){return v==val}))
            res.push(val)
    })
    return res
}

results matching ""

    No results matching ""