如何在JavaScript中为日期和名称编写排序?我有一张桌子。有2列:name
和created date
:
name: ["A", "A9", "A10", "A11", "A3"]
createdDate: ["Apr 2, 2019 3:07 PM", "Apr 10, 2019 9:25 AM", "Apr 30, 2019 6:08 PM", "Apr 10, 2019 8:25 AM", "Apr 2, 2019 8:07 PM"]
我已经尝试使用排序方法。输出应该喜欢:
name: ["A", "A3", "A9", "A10", "A11"]
createdDate: ["Apr 2, 2019 3:07 PM", "Apr 2, 2019 8:07 PM","Apr 10, 2019 8:25 AM", "Apr 10, 2019 9:25 AM", "Apr 30, 2019 6:08 PM"]
这是您可以使用localecompare((将name
数组alphanumerer -alphanumerer -ainting((和将数字作为选项之一传递。
const name = ["A", "A9", "A10", "A11", "A3"];
name.sort((a, b) => a.localeCompare(b, 'en', { numeric: true }));
console.log(name);
这是您可以按日期对它们进行排序的方式。从本质上讲,进行比较时,我们将它们转换为JavaScript日期对象。
const createdDate = ["Apr 2, 2019 3:07 PM", "Apr 2, 2019 8:07 PM","Apr 10, 2019 8:25 AM", "Apr 10, 2019 9:25 AM", "Apr 30, 2019 6:08 PM"];
createdDate.sort((a, b) => new Date(a) - new Date(b));
console.log(createdDate);
排序字符串:
array.sort(function(a, b) {
var titleA = a.title.toLowerCase(), titleB = b.title.toLowerCase();
if (titleA < titleB) return -1;
if (titleA > titleB) return 1;
return 0;
});
排序日期:
array.sort(function(a, b) {
var dateA = new Date(a.release), dateB = new Date(b.release);
return dateA - dateB;
});
有关更多详细信息
要正确执行此操作
字符串:
name.sort((a, b) => a.localeCompare(b, 'en', { numeric: true }));
日期:
createdDate.sort((a, b) => Date.parse(a) - Date.parse(b));