在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;
}
}
在是否有可能做到这一点,而无需使用sort()或无突变阵列中的任何方式?我会想象数组必须重新创建,然后可以在新创建的数组上进行排序,但是我想知道没有排序的最佳方法。 是的,我是一个艺术家,而不是程序员,你的荣誉。
复制和排序听起来像是一个很好的解决方案。你为什么要避免这种情况? – Bergi 2013-02-24 14:32:17
您可以推送字典中的元素并计算键的数量。 – zsong 2013-02-24 14:34:59
我只是想知道解决这个问题的方法。我只是好奇。其次,它混淆了其他元素依赖的原始数组。我可能会更好地将数组转换为对象。但我不知道某种物体的各个部分会发生什么。 – 2013-02-24 14:36:14