Lorsque vous travaillez avec des tableaux en JavaScript, il est souvent essentiel de s'assurer que les valeurs sont uniques. Cependant, rencontrer une erreur lorsqu’il s’agit de valeurs nulles peut être déroutant. Explorons le problème et sa solution.
L'extrait de code fourni utilise la fonction Array.prototype.getUnique pour éliminer les doublons :
Array.prototype.getUnique = function() { var o = {}, a = [], i, e; for (i = 0; e = this[i]; i++) {o[e] = 1}; for (e in o) {a.push (e)}; return a; }
Bien que cette fonction fonctionne parfaitement dans la plupart des cas, elle trébuche lorsque le tableau contient un zéro. Pour résoudre ce problème, nous pouvons exploiter la méthode de filtrage native d'un tableau introduite dans JavaScript 1.6/ECMAScript 5 :
function onlyUnique(value, index, array) { return array.indexOf(value) === index; } // usage example: var a = ['a', 1, 'a', 2, '1']; var unique = a.filter(onlyUnique); console.log(unique); // ['a', 1, 2, '1']
Dans cette solution, la fonction onlyUnique garantit que chaque valeur n'apparaît qu'une seule fois dans le tableau résultant. . Lorsqu'il est utilisé avec la méthode de filtrage, il supprime efficacement les doublons, y compris zéro.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!