【发布时间】:2011-02-15 15:45:12
【问题描述】:
我有一个这样的 JavaScript 数组:
a[0][0] = "apple";
a[0][1] = 6.5;
a[1][0] = "orange";
a[1][1] = 4.3;
a[2][0] = "pear";
a[2][1] = 3.1;
我想按浮点数字段升序排序,并按升序分配内容。
即
a[0][0] = "pear";
a[1][1] = 3.1;
a[1][0] = "orange";
a[1][1] = 4.3;
a[2][0] = "apple";
a[2][1] = 6.5;
我已尝试对内容进行排序,但代码似乎不允许浮点数。
另外,我不知道如何按升序重新分配内容。 谁能帮帮我?
a.sort(function(a,b){return a[1] - b[1];});
【问题讨论】:
-
试试 a.sort(function(a,b){return a[1] > b[1];}); ?负值返回 true,我认为
-
您看到了什么错误?该代码有效,至少对于主要类别:jsbin.com/ulite3
-
@BiAiB: 不,如果
a应该在b之前,sort调用的函数应该返回<0,如果a应该在@987654331 之后,>0@,或0,如果它们相同。 -
你提供的代码有你想要的输出
-
@T.J.克劳德:关于您对我的(不正确的)答案的评论:上面显示的用于设置数组的代码无法按原样工作。仍然需要
a[i] = []和a = []。
标签: javascript arrays sorting