我有一个嵌套数组,我想按内部数组中的值对其进行排序。首先按字母顺序按名称排序,然后按日期排序(从最旧到最新)。假设我们有这个数组:[['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()方法来做到这一点?
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
解决方案:
您可以根据一行代码中的第一列和第二列对两者进行排序。
您只需要对字符串和日期对象进行排序:
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);
添加回答
举报
0/150
提交
取消