-5
votes

Comment vérifier si deux numéros sont égaux en JavaScript

Disons que nous avons un tableau: let arr = [10,10,5,11,5]

Comment puis-je vérifier tous les chiffres égaux? (essentiellement duplicate)

Qu'est-ce que j'ai pensé être une foreach et comparer chaque nombre mais ce n'est pas très optimal. Un filtre? Peut-être. Quelqu'un a une bonne idea qui serait optimale?


5 commentaires

Qu'entendez-vous par «tous les chiffres qui sont égaux»? Vous voulez les numéros uniques dans le tableau? Vous voulez savoir s'ils sont tous égaux? Ou alors...?


Quelle est votre sortie désirée? Un tableau sans aucun élément en double?


Je ne suis pas sûr de savoir qui descendit toutes les réponses, mais elle n'est pas sensicale: la déclaration de problème n'est pas suffisante - si quelque chose la question doit être évité.


@Chrisd A Filtre également iTerates et exécute une comparaison. Vous devez être plus spécifique avec votre déclaration de problème.


Vérifiez ceci: Stackoverflow.com/a/38206980/2050306


4 Réponses :


-1
votes

Vous pouvez utiliser un Set Pour enlever les duplicats, puis comparez les longueurs des deux matrices.

p>

let arr1 = [10,10,5,11,5]
let arr2 = [10,11,5]

function hasDuplicates(arr) {
  return arr.length != [...new Set(arr)].length
}

console.log(hasDuplicates(arr1))
console.log(hasDuplicates(arr2))


0 commentaires

-1
votes

vraiment rapide avec Chaque p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


0 commentaires

0
votes

Vous pouvez utiliser réduire code> pour enfoncer les valeurs dont vous avez besoin

p>

let arr = [10, 10, 5, 11, 5];

let duplicates = getDuplicates(arr);

console.log(duplicates);

function getDuplicates(arr) {
  let duplicates = arr.reduce((acc, item) => {
    if(acc[item] !== undefined) {
      acc[item] = true;
    } else {
      acc[item] = false;
    }
    return acc;
  }, {});
  
  return Object.keys(duplicates).filter(item => duplicates[item]);
}


0 commentaires

0
votes

Vous pouvez utiliser le filtre

p>

let arr = [10,10,5,11,5];

const duplicates = array => array.reduce((results, item, index) => {
  if (!results.some(i => i === item) && array.some((i, idx) => i === item && index !== idx)) {
    results.push(item);
  }
  return results;
}, []);

console.log(duplicates(arr));


0 commentaires