【发布时间】:2017-03-08 02:57:30
【问题描述】:
我对 JavaScript 中的 array.sort() 方法有疑问。数组中的一组值可以从 1 到更多。如果有多个元素,排序功能应按顺序对它们进行排序。这是我的代码:
var myDates = ["03/05/2017","02/01/2017","03/02/2017"];
myDates.sort(function(a,b) {
a = a.split('/').reverse().join('');
b = b.split('/').reverse().join('');
return a > b ? 1 : a < b ? -1 : 0;
});
上面的代码运行良好,所有日期都已排序。我的问题是我应该在运行排序方法之前检查数组的长度吗?我问这个是因为我的数组只能在某些情况下有一个元素。到目前为止,当我仅使用一个元素进行测试时,我的代码没有抛出任何错误,但我想知道是否应该在运行 sort() 之前检查数组的长度,还是 JavaScript 已经处理好了?如果有人知道答案,请告诉我。谢谢。
【问题讨论】:
-
好吧...检查自己发生了什么,对于 0 和 1 元素 - 提示,在回调中放置一个 console.log
-
这将如何帮助我得到答案?我知道如果我有多个元素,我的函数会产生什么,但我想知道如果我的元素少于两个,我是否应该阻止我的函数运行。
-
很好 ...如果元素少于 2 个,甚至不会调用排序回调 - 因此,您无需检查长度。老实说,我只是觉得你可能想学习如何学习
-
我试过了,但是 console.log() 没有在回调函数内部产生任何输出。感谢您的解释。
标签: javascript arrays sorting