Advertisement
menixator

removeDuplicates.js

Jun 27th, 2014
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var removeDuplicates = function(array, getter) {
  2.     var searchArray;
  3.     if (typeof getter === "function"){
  4.         searchArray = array.map(getter);
  5.     } else {
  6.         searchArray = array;
  7.     }
  8.     return array.filter(function(v, k) {
  9.         if (getter){
  10.             v = getter(v);
  11.         }
  12.         return searchArray.indexOf(v) === k;
  13.   });
  14. };
  15.  
  16. // examples:
  17. removeDuplicates([1,2,3,1,2,3,1,2,3,1,2,3]);
  18. // => [1,2,3]
  19.  
  20. removeDuplicates("SPRINGTIMEISHERE!".split("")).join("");
  21. // => "SPRINGTMEH!"
  22.  
  23. removeDuplicates([
  24.     {id:0, value: "value"},
  25.     {id:1, value: "value"},
  26.     {id:1, value: "value"},
  27.     {id:1, value: "value"},
  28.     {id:1, value: "value"},
  29.     {id:1, value: "value"},
  30.     {id:1, value: "value"}], function(v){return v.id})
  31. /* =>
  32. [
  33.     {"id": 0,"value": "value"},
  34.     {"id": 1,"value": "value"}
  35. ]
  36. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement