如何在以逗号分隔的键分隔的数组中排序

问题描述 投票:0回答:1

如何在以键分隔的单个数组内排序为日期,并以逗号分隔值。

旧版时间序列正在以以下格式发送数据

arr1 = ['3/13/20,2179','3/14/20,2727', '3/14/20,1024' , '3/14/20,3020', '3/13/20,100', '3/13/20,190']

我正在努力按以下格式对其进行排序,关键是按所有必需值分组的日期

arr1 = [3/13/20,2179,100,190,3/14/20,2727,1024,3020]

任何指针/提示都会有所帮助。

javascript arrays google-visualization
1个回答
1
投票
重复日期,split key以获取datecount。如果要按日期排序,请分割date-string。并在排序回调函数中返回比较的差异。

const arr1 = [ "3/13/20,2179", "3/14/20,2727", "3/14/20,1024", "3/14/20,3020", "3/13/20,100", "3/13/20,190", ]; const sort = (data) => { return data.sort((x, y) => { const [date, num] = x.split(","); const [date1, num1] = y.split(","); const [mm, dd, yy] = date.split("/"); const [mm1, dd1, yy1] = date1.split("/"); return new Date(dd, mm, yy).getTime() - new Date(dd1, mm1, yy1).getTime(); }); }; console.log(sort(arr1));

根据日期排序然后计数

arr1 = [ "3/13/20,2179", "3/14/20,2727", "3/14/20,1024", "3/14/20,3020", "3/13/20,100", "3/13/20,190", ]; const sort = (data) => { return data.sort((x, y) => { const [date, num] = x.split(","); const [date1, num1] = y.split(","); const [mm, dd, yy] = date.split("/"); const [mm1, dd1, yy1] = date1.split("/"); const d1 = new Date(dd, mm, yy).getTime(); const d2 = new Date(dd1, mm1, yy1).getTime(); if (d1 !== d1) return d1 - d2; return Number(num) - Number(num1); }); }; console.log(sort(arr1));
© www.soinside.com 2019 - 2024. All rights reserved.