In JavaScript, il seguente numero troverà il numero di elementi nella matrice. Supponendo che vi sia almeno un elemento dell'arrayContare elementi univoci nella matrice senza ordinamento
arr = ["jam", "beef", "cream", "jam"]
arr.sort();
var count = 1;
var results = "";
for (var i = 0; i < arr.length; i++)
{
if (arr[i] == arr[i+1])
{
count +=1;
}
else
{
results += arr[i] + " --> " + count + " times\n" ;
count=1;
}
}
È possibile fare questo senza usare sort() o senza mutare la matrice in qualche modo? Immagino che l'array debba essere ricreato e quindi l'ordinamento potrebbe essere fatto sull'array appena creato, ma voglio sapere qual è il modo migliore senza ordinare. E sì, sono un artista, non un programmatore, vostro onore.
La copia e l'ordinamento suona come una buona soluzione. Perché vorresti evitare questo? – Bergi
È possibile inserire gli elementi in un dizionario e contare il numero di tasti. – zsong
Voglio solo sapere un modo per aggirare questo. Sono solo curioso.In secondo luogo, incasina l'array originale, su cui si basano altri elementi. Potrei stare meglio trasformando la matrice in un oggetto. Ma non so cosa succederebbe alle varie parti di un oggetto di un certo tipo. –