Obtenez toutes les valeurs uniques dans un tableau JavaScript (enlever les duplicata)

Mots clés : javascriptuniquearraysjavascript

meilleur 5 Réponses Obtenez toutes les valeurs uniques dans un tableau JavaScript (enlever les duplicata)

vote vote

97

function onlyUnique(value, index, self) {   return self.indexOf(value) === index; }  // usage example: var a = ['a', 1, 'a', 2, '1']; var unique = a.filter(onlyUnique);  console.log(unique); // ['a', 1, 2, '1']
// usage example: var myArray = ['a', 1, 'a', 2, '1']; var unique = myArray.filter((v, i, a) => a.indexOf(v) === i);  console.log(unique); // unique is ['a', 1, 2, '1']
var myArray = ['a', 1, 'a', 2, '1'];  let unique = [...new Set(myArray)];  console.log(unique); // unique is ['a', 1, 2, '1']
vote vote

80

let uniqueItems = [...new Set(items)] 
[4, 5, 6, 3, 2, 23, 1] 
vote vote

76

function uniqueArray1( ar ) {   var j = {};    ar.forEach( function(v) {     j[v+ '::' + typeof v] = v;   });    return Object.keys(j).map(function(v){     return j[v];   }); }  
function uniqueArray2(arr) {     var a = [];     for (var i=0, l=arr.length; i<l; i++)         if (a.indexOf(arr[i]) === -1 && arr[i] !== '')             a.push(arr[i]);     return a; } 
function uniqueArray3(a) {   function onlyUnique(value, index, self) {        return self.indexOf(value) === index;   }    // usage   var unique = a.filter( onlyUnique ); // returns ['a', 1, 2, '1']    return unique; } 
function uniqueArray4(a) {   return [...new Set(a)]; } 
vote vote

62

console.log(_.uniq([1, 2, 1, 3, 1, 4]));
<script src="http://underscorejs.org/underscore-min.js"></script>
[1, 2, 3, 4] 
vote vote

51

x --> item in array i --> index of item a --> array reference, (in this case "list") 
list = list.filter(function (x, i, a) {      return a.indexOf(x) == i;  }); 

Questions similaires