【发布时间】:2014-02-25 09:57:24
【问题描述】:
我是 Jquery 和 Javascript 的新手。有人可以根据数组中的出现次数(计数)帮助我进行 Jquery 排序。我尝试了各种排序方法,但都没有奏效。
我在 Javascript 中有一个数组
allTypesArray = ["4", "4","2", "2", "2", "6", "2", "6", "6"]
// here 2 is printed four times, 6 is printed thrice, and 4 is printed twice
我需要这样的输出
newTypesArray = ["2","6","4"]
我试过了
function array_count_values(e) {
var t = {}, n = "",
r = "";
var i = function (e) {
var t = typeof e;
t = t.toLowerCase();
if (t === "object") {
t = "array"
}
return t
};
var s = function (e) {
switch (typeof e) {
case "number":
if (Math.floor(e) !== e) {
return
};
case "string":
if (e in this && this.hasOwnProperty(e)) {
++this[e]
} else {
this[e] = 1
}
}
};
r = i(e);
if (r === "array") {
for (n in e) {
if (e.hasOwnProperty(n)) {
s.call(t, e[n])
}
}
}
return t
}
6: 3
}
输出是
{4: 2, 2: 6, 6:3}
【问题讨论】:
-
你能告诉我们你的代码吗?
-
这些不同的方法是什么?他们是怎么不工作的?
-
我希望下面的帖子可以帮助你实现同样的目标.. stackoverflow.com/questions/19464440/…
-
那不是排序(因为你改变了数组的内容)
-
@GabyakaG.Petrioli,是的,它按每个元素的出现次数排序。
标签: javascript jquery arrays sorting