根据字母顺序和日期对 2D JavaScript 数组进行排序

我有一个嵌套数组,我想按内部数组中的值对其进行排序。首先按字母顺序按名称排序,然后按日期排序(从最旧到最新)。

假设我们有这个数组:

[['BBB','2020-10-20'],['AAA','2020-10-25'],['BBB','2020-10-19'],['EEE','2020-11-19'],['AAA','2020-10-10']]

排序后它看起来像这样:

[['AAA','2020-10-10'],['AAA','2020-10-25'],['BBB','2020-10-19'],['BBB','2020-10-20'],['EEE','2020-11-19']]

有没有可能用这个sort()方法来做到这一点?


冉冉说
浏览 65回答 1
1回答

当年话下

解决方案:您可以根据一行代码中的第一列和第二列对两者进行排序。您只需要对字符串和日期对象进行排序:var myArray  = [['BBB','2020-10-20'],['AAA','2020-10-25'],['BBB','2020-10-19'],['EEE','2020-11-19'],['AAA','2020-10-10']]; myArray.sort( (a,b) => a[0].charCodeAt(0)-b[0].charCodeAt(0) || new Date(a[1]) - new Date(b[1]));console.log(myArray);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript