Я занимаюсь разработкой библиотеки, в которой я создаю таблицу, которая может использоваться во многих проектах. У меня возникла проблема, как реализовать метод, который мог бы сортировать столбец даты? Я не могу знать раньше, в каком формате дата будет иметь ГГГГ-ММ-ДД-чч-ММ-сс или ГГГГ / ММ / ДД / чч / сс или ДД: ММ: ГГГГ и т. Д. c ... Как Могу ли я эффективно реализовать такой метод в JavaScript?
class Table {
constructor(options) {
this.columns = [];
this.rows = [];
this.tbody = null;
this.columns = this.setcolumn();
}
createTable() {
let table = document.createElement('table');
this.tbody = table.appendchild('tbody');
// other stuff for creating the table
}
setColumn() {
if (this.columns.some(isObject))
return this.columns;
this.column.map((item) => {
return {
content: '',
direction: 'ASC',
type: 'string'
}
});
}
sortColumn(e) {
const colIndex = e.cellIndex;
const selctedColumn = this.column[colIndex];
const sortDirAsc = (this.column[colIndex].direction === 'ASC')
let SortData = [];
let rows = Array.from(this.tbody.children);
for (let i = 0; i < rows.length; i++) {
cell = rows[i].cells;
coltext = cell.innerText.trim().toLowercase();
let rowdata = [coltext, row[i]];
SortData.push(rowdata);
}
if ( /*column is not a date*/ ) {
(sortDirAsc) ? SortData.sort(): SortData.reverse();
}
if ( /* column is a date*/ ) {
/*provide a custum method with date format provided*/
}
enter code here
for (let i = 0; i < SortData.length; i++) {
this.tbody.appendchild(SortData[i][1]);
}
}