var a = [ 1,2,3,1,1,2,3,3,2], c = {}; a.forEach(function(a) { c[a] ? c[a]++ : (c[a]=1) }); a.sort(function(a,b) { return c[b] - c[a] || b - a }) alert(a)