Classifique a tabela clicando na tag de cabeçalho, independentemente de ser numérica, alfabética ou data
Estou tentando classificar minha mesa por javascript(só javascriptpure, não biblioteca e não framework, apenas javascriptpuro)
Cada coluna classifica-se clicando em cada tag de cabeçalho e atualmente a classificação é alfabética, mas eu preciso que a classificação seja numérica ou alfabética ou data, independentemente disso. Os dados são um Json que vem do outro lado e podem ter coluna numérica, alfabética ou de dat
Este é o meu código de classificação:
function sortMainTable(_num) {
var table, rows, sw, i, x, y;
table = document.getElementById("mainTable");
sw = true;
while (sw) {
sw = false;
rows = table.getElementsByTagName("tr");
for (i = 1; i < (rows.length - 1); i++) {
x = rows[i].getElementsByTagName("td")[_num];
y = rows[i + 1].getElementsByTagName("td")[_num];
if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
sw = true;
break;
}
}
}
}
Exemplo json:
places = [{
"city": "Los Angeles",
"country": "USA",
"price:": "130.90",
"date": "02/12/2015"
},
{
"city": "Boston",
"country": "USA",
"price:": "11.40",
"date": "10/04/2014",
},
{
"city": "Chicago",
"country": "USA",
"price:": "320.40"
"date": "06/05/2017",
},
]
Como eu disse acima, eu preciso que a classificação seja numérica ou alfabética ou data, independentemente disso. (se a coluna for numérica, a classificação da tabela será ordenada por coluna numérica e, se a coluna for alfabética, a classificação da tabela será ordenada por coluna alfabética; se a coluna for data, a classificação da tabela será ordenada por coluna de data)
Qualquer ideia
Obrigado