Предложу такой вариант...
var a = ['Молоко','Огурцы','Молоко','Сахар','Сахар','Мед','Огурцы','Сахар'];
var i,b=[],c=[]
for (i=0; i<a.length; i++) {
b[a[i]]=(b[a[i]] || 0)+1
}
for (i in b) {
c[c.length]={
Name: i,
All: +b[i]
}
}
c.sort(function (a,b){return b.All-a.All})
for (i=0; i<c.length; i++) {
alert(c[i].Name+'='+c[i].All)
}