У меня есть разделенные запятыми значения в массиве, который я получаю из CSV-файла и использую его для отображения таблицы в React.
[
"Company,Industry,Years,CEO",
"Tesla,Automobile,15,Elon",
"SpaceX,AeroSpace,17,Elon",
"Amazon,Software,24,Jeff",
"Google,Software,20,Sundar",
"Microsoft,Software,30,Satya",
"BMW,Automobile,103,Harald",
"BlueOrigin,AeroSpace,19,Jeff",
"NASA,Space,61,Gov",
"Hyperloop,Transportation,5,Elon"
]
JSX
renderCsvTable() {
const { file } = this.state;
if(file !== "") {
let data = `<table className="csv-table">`;
file.forEach((cells, i) => {
let cell_data = cells.split(',');
data+= `<tr>`;
cell_data.forEach((column) => {
if (i === 0) {
data+= `<th>${column}</th>`;
} else {
data+= `<td>${column}</td>`;
}
});
data+= `</tr>`;
});
data+= `</table>`;
return (
<div>{ parse(data) }</div>
)
}
}
Я хочу отсортировать массив по отдельным столбцам.
В настоящее время я могу сортировать по первому столбцу, используя метод сортировки
this.state.file.sort((a, b) => (a > b) - (a < b));
Но это также сортировка [0] index
массива, который мне не нужен, потому что это заголовок таблицы.
После сортировки
[
"Amazon,Software,20,Jeff",
"BMW,Automobile,33,Harald",
"BlueOrigin,Space,4,Jeff",
"Company,Industry,Years,CEO",
"Google,Software,30,Sundar",
"Hyperloop,Transportation,5,Elon",
"Microsoft,Software,30,Satya",
"NASA,Space,60,Gov",
"SpaceX,Space,5,Elon",
"Tesla,Automobile,10,Elon"
]
Также я хочу отсортировать столбцы, как если бы я нажимал на Годы или Генеральный директор , он должен сортироваться по годам или Генеральному директору. То же самое с каждым столбцом.