JavaScriptでは、配列内のエレメントの数が次のようになります。配列並べ替えなしで配列内のユニークエレメントをカウントする
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;
}
}
に一つの要素の最小値が存在すると仮定すると、それはソート()を使用せずに、または任意の方法で配列を変異させずに、これを行うことは可能ですか?私は、配列を再作成しなければならないと思っていたし、並べ替えが新しく作成された配列で行うことができますが、私はどのような並べ替えなしで最良の方法を知りたい。 はい、私はプログラマではなくアーティストです、あなたの名誉です。
コピーとソートは良い解決策のように聞こえる。なぜそれを避けたいですか? – Bergi
辞書内の要素を押して、キーの数を数えることができます。 – zsong
私はちょうどこれを回避する方法を知りたい。私はちょうど興味がある。第2に、それは他の要素が依存する元の配列を駄目にする。配列をオブジェクトに変換する方が良いかもしれません。しかし、私はソート上のオブジェクトのさまざまな部分に何が起こるのか分かりません。 –