Verifica della presenza di stringhe duplicate nell'array JavaScript

2022-07-29 12:30:26

Ho un array JS con stringhe, ad esempio:

var strArray = [ "q", "w", "w", "e", "i", "u", "r"];

Ho bisogno di confrontare le stringhe duplicate all'interno dell'array e, se esiste una stringa duplicata, dovrebbe esserci una finestra di avviso che punta a quella stringa.

Stavo cercando di confrontarlo con il ciclo for, ma non so come scrivere il codice in modo che l'array controlli le proprie stringhe per i duplicati, senza stringhe già predeterminate da confrontare .

- Bengall

Source
Risposta


88
  • La funzione findDuplicates (sotto) confronta l'indice di tutti gli elementi nell'array con l'indice della prima occorrenza dello stesso elemento. Se gli indici non sono uguali lo restituisce come duplicato.

    let strArray = [ "q", "w", "w", "w", "e", "i", "u", "r"];
    let findDuplicates = arr => arr.filter((item, index) => arr.indexOf(item) != index)
    
    console.log(findDuplicates(strArray)) // All duplicates
    console.log([...new Set(findDuplicates(strArray))]) // Unique duplicates