eenvoudige & Pure JavaScript Array.unieke methode met 5 regels code

het is vaak om een array te hebben die dubbele waarden bevat en je wilt ze uniek maken. U kunt bijvoorbeeld hebben en willen krijgen.

door gebruik te maken van veel functies in JavaScript, zoals prototypes en anonieme functies, kunt u dat resultaat krijgen met 5 regels code:

Array.prototype.unique = function() { return this.filter(function (value, index, self) { return self.indexOf(value) === index; }); }

gebruik:

var arr = arr.unique(); // => 

deze oplossing vereist geen afhankelijkheden zoals jQuery of prototype.js, en het werkt voor arrays met gemengde types!

Hoe werkt het?

  • de native methode filter zal door de array lopen en laat alleen die items achter die de gegeven anonieme callback functie doorgeven (dat wil zeggen true return waarde krijgen).

  • de functie anonymous callback geeft true terug als de regel het eerste voorkomt, en false elders. Het gebruikt de native indexOf methode die de index van het eerste voorkomen van een item in een array vindt.

sprekend over filter en indexOf native methoden, werden ze geïntroduceerd in ECMA-262 standaard 5e editie, wat betekent dat ze niet worden ondersteund in oude browsers (<IE9). Er zijn oplossingen voor filter en indexOf om dezelfde methode aan het werk te krijgen, maar het zal niet langer een 5-regels code zijn.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.