Sobes.tech
Middle+

// La méthode findUnique est appliquée au tableau, qui renvoie un nouveau tableau contenant les éléments uniques, // c'est-à-dire ceux qui apparaissent une seule fois dans le tableau d'origine, dans le même ordre. // Il est nécessaire d'implémenter la méthode findUnique pour qu'elle fonctionne comme une méthode normale du tableau [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech IA

Réponse de l'IA

Pour ajouter la méthode findUnique à un tableau, qui renvoie un nouveau tableau contenant les éléments qui apparaissent exactement une fois dans le tableau d'origine, vous pouvez étendre le prototype du tableau comme suit :

Array.prototype.findUnique = function() {
  const counts = this.reduce((acc, val) => {
    acc[val] = (acc[val] || 0) + 1;
    return acc;
  }, {});

  return this.filter(item => counts[item] === 1);
};

// Exemple d'utilisation :
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Explication :

  • Tout d'abord, on crée l'objet counts, où les clés sont les éléments du tableau et les valeurs sont le nombre de fois qu'ils apparaissent.
  • Ensuite, on filtre le tableau d'origine, ne conservant que les éléments dont le nombre d'apparitions est égal à 1.

Ainsi, la méthode fonctionne comme une méthode normale du tableau et conserve l'ordre des éléments.