Intenté hacer una función llamada ordenar y no importa qué no ordenará.
Estoy clasificando una matriz de objetos javascript y usando el nombre del parámetro que se ingresa como criterio de clasificación, para clasificar una tabla de diferentes valores
const sort = (data, ascending, param) => { console.log(data, ascending, param); let a2 = data.sort((a, b) => ascending ? a[param] - b[param] : b[param] - a[param] ); console.log(a2); };la salida de la consola antes y después de la ordenación parece ser la misma
[ { "id": 1, "first_name": "ralph", "last_name": "nader", "age": 102, "phone": 1234 }, { "id": 2, "first_name": "Turkey", "last_name": "Face", "age": 43, "phone": 4444 }, { "id": 3, "first_name": "Taco", "last_name": "Breath", "age": 43, "phone": 4444 }, { "id": 4, "first_name": "fish", "last_name": "Butt", "age": 43, "phone": 4444 } ] [ { "id": 1, "first_name": "ralph", "last_name": "nader", "age": 102, "phone": 1234 }, { "id": 2, "first_name": "Turkey", "last_name": "Face", "age": 43, "phone": 4444 }, { "id": 3, "first_name": "Taco", "last_name": "Breath", "age": 43, "phone": 4444 }, { "id": 4, "first_name": "fish", "last_name": "Butt", "age": 43, "phone": 4444 } ]aquí está el html (jsx)
<Col2 onClick={() => sort(users, false, 'first_name')}>First Name</Col2>