【发布时间】:2012-11-27 23:16:03
【问题描述】:
var klas4 = [];
klas4[2] = [];
klas4[2]["hour"] = 1;
klas4[2]["teacher"] = "JAG";
klas4[2]["group"] = "V4A";
klas4[2]["subject"] = "IN";
klas4[2]["classroom"] = "B111";
klas4[0] = [];
klas4[0]["hour"] = 6;
klas4[0]["teacher"] = "JAG";
klas4[0]["group"] = "V4B";
klas4[0]["subject"] = "IN";
klas4[0]["classroom"] = "B111";
klas4[1] = [];
klas4[1]["hour"] = 4;
klas4[1]["teacher"] = "NAG";
klas4[1]["group"] = "V4A";
klas4[1]["subject"] = "NA";
klas4[1]["classroom"] = "B309";
这个多维数组需要按小时排序,升序。问题是,我不知道如何对多维数组进行排序。第一个维度(0、1 和 2)需要根据小时更改,但维度 2 中的所有其他详细信息(教师、小组等)也需要从索引中更改,否则数据会混合。 你不知道有多少索引。在这个例子中,正确的顺序应该是:klas4[2][...], klas4[1][...], klas[0][...]
在 PHP 中有一个特定的函数 multisort,但我在 jQuery 或 JavaScript 中找不到。
【问题讨论】:
-
klas4[0] = [];应该是一个对象,而不是一个数组。它应该看起来像klas4[0] = { "hour" : 6, "teacher" : "JAG", "group" : "V4B", "subject" : "IN", "classroom" : "B111" }; -
您不正确地使用数组,当您认为您正在添加元素时,您只是在向数组对象添加属性。请参阅this question 了解更多信息。
-
@epascarello 您可以省略键上的引号...
标签: javascript jquery sorting multidimensional-array