【发布时间】:2010-02-24 18:43:02
【问题描述】:
当对由字符串、空值和零混合组成的数组进行排序时,我得到的结果并不像预期的那样正确,空值似乎被排序为“空”字符串。 我这样做了(在 FireFox 上测试过):
var arr1 = arr2 = [null, "b", "c", "d", null, "e", 0, "g", null, 0, "h", "i", "l", "m", "n", "o", "p", "ne", "nur", "nimbus"];
document.write("SORTED ARRAY:<br>");
arr1.sort();
arr1.forEach(function(val){document.write(val + "; ")});
结果是:
排序数组: 0; 0;乙; C; d; e; G; H;一世; l;米; n; ne;雨云;空值;空值;空值;努尔; ○; p;
您是否知道如何在数组排序期间将空值视为空字符串,以便它们与零一起出现在排序数组中的第一个。
谢谢!
【问题讨论】:
-
您需要在字符串之前对数字进行排序吗?字典顺序与数字不同。考虑订购 { 100, 15 } 和 { "100", "15" } 作为示例。
-
@andras:不,只是零。
标签: javascript arrays sorting