Mi formato de fecha es así: lun 07 de marzo de 2022 y quiero mostrar los datos más recientes. Lo he intentado de esta manera pero no funciona.
Si pongo new Date() en mi código, obtengo este error: var Date: DateConstructor new (value: string | number | Date) => Date (+3 overloads) The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
useEffect(() => { setIsLoading(true) fetch(`http://localhost:5000/dashboard/orders`) .then(res => res.json()) .then(data => { const latestData = data.sort((a, b) => b.date - a.date) // const latestData = data.sort((a, b) => new Date(b.date) -new Date( a.date)) // error setOrders(latestData) }) .finally(() => setIsLoading(false)) }, [])Por favor, intente de esta manera
data.sort(function(a,b){ return new Date(b.date) - new Date(a.date); });Este es un error mecanografiado, la función de comparación de clasificación solo acepta números.
Nota: Sin getTime funciona en javascript.
const data = [{ date: "Mon Mar 07 2022", }, { date: "Mon Mar 01 2022", }, { date: "Mon Mar 06 2022", }, ]; const latestData = data.sort( (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() ); console.log(latestData);