Get all non-unique values (i.e.: duplicate/more than one occurrence) in an array

后端 未结 30 3117
再見小時候
再見小時候 2020-11-21 04:35

I need to check a JavaScript array to see if there are any duplicate values. What\'s the easiest way to do this? I just need to find what the duplicated values are - I don\'

30条回答
  •  囚心锁ツ
    2020-11-21 05:19

    var arr = [2, 1, 2, 2, 4, 4, 2, 5];
    
    function returnDuplicates(arr) {
      return arr.reduce(function(dupes, val, i) {
        if (arr.indexOf(val) !== i && dupes.indexOf(val) === -1) {
          dupes.push(val);
        }
        return dupes;
      }, []);
    }
    
    alert(returnDuplicates(arr));

    This function avoids the sorting step and uses the reduce() method to push duplicates to a new array if it doesn't already exist in it.

提交回复
热议问题