我将翻译以下数组:
我希望能将这些日期及其对应的权重按升序排列。
我知道你可以使用sort函数来排序数组,我在About.com页面上找到了下面的函数,我认为它可以实现我的要求:
然而,使用此函数会出现以下错误:
我有以下数组:
var times = [
["04/11/10", "86kg"],
["05/12/11", "90kg"],
["06/12/11", "89kg"]
];
我希望能将这些日期及其对应的权重按升序排列。
我知道你可以使用sort函数来排序数组,我在About.com页面上找到了下面的函数,我认为它可以实现我的要求:
times.sort(dmyOrdA);
var dateRE = /^(\d{2})[\/\-](\d{2})[\/\-](\d{2})/;
function dmyOrdA(a,b) {
a = a.replace(dateRE, "$3$2$1");
b = b.replace(dateRE, "$3$2$1");
if (a > b) {
return 1;
}
else if (a < b) {
return -1;
}
else {
return 0;
}
}
然而,使用此函数会出现以下错误:
a.replace is not a function
有人能帮我解决我的问题吗?
提前致谢。
编辑:
看了之前的一个stackoverflow问题,似乎在我的情况下,'a'不是一个字符串。然而,我不明白为什么会这样。
times
数组存储了 3 个数组,而不是字符串(例如["04/11/10", "86kg"]
)。所以在排序函数中,a
和b
将会是两个数组。 - kapa