Disons que nous avons un tableau:
Comment puis-je vérifier tous les chiffres égaux? (essentiellement duplicate) p>
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? P> let arr = [10,10,5,11,5] code> p>
4 Réponses :
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))
vraiment rapide avec Chaque p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
Vous pouvez utiliser p> réduire code> pour enfoncer les valeurs dont vous avez besoin
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]);
}
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));
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 i> é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 Code> é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