Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

236
Vistas
el objeto no se ordena según el valor en JavaScript (tiene clave y número de valor)

El resultado del objeto esperado de Javascript no se obtiene al ordenar los números de valor (y tanto la clave como el valor también son números)

 let team_id_Point = { 26: 15, 32: 1, 127: 21, }; function sortObjectbyValue(obj = {}, asc = true) { const ret = {}; Object.keys(obj) .sort((a, b) => obj[asc ? a : b] - obj[asc ? b : a]) .forEach((s) => (ret[s] = obj[s])); return JSON.stringify(ret); } console.log(sortObjectbyValue(team_id_Point, false));

resultado de arriba:

 {"26":15,"32":1,"127":21}

salida requerida:

 {"127":21,"26":15,"32":1}
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Aunque las propiedades de los objetos de JavaScript ahora tienen un orden , depender de su orden es un antipatrón .

Si necesita orden, use una matriz.

salida requerida

No puede obtener el resultado requerido con un objeto JavaScript porque:

  • Esos nombres de propiedad son nombres de índice de matriz, por lo que el "orden" del objeto los ordena numéricamente .
  • JSON.stringify sigue el orden de propiedad del objeto.

También tenga en cuenta que JSON (a diferencia de JavaScript) considera objetos "... un conjunto desordenado de pares de nombre/valor..." Así que para JSON, {"a": 1, "b": 2} y {"b": 2, "a": 1} son exactamente equivalentes.

Podría usar un Map , pero entonces la representación JSON no sería lo que espera.

O puede compilar el JSON manualmente (ignorando que JSON no considera que los objetos tengan ningún orden), usando JSON.stringify para los valores pero generando { , nombres de propiedades y } usted mismo.

Pero realmente, si necesita orden, use una matriz.

Aquí hay un ejemplo usando una matriz de matrices:

 let team_id_Point = [ [26, 15], [32, 1], [127, 21], ]; function sortTeamIdPoint(data = [], asc = true) { const result = [...data]; const sign = asc ? 1 : -1; result.sort((a, b) => (a[0] - b[0]) * sign); return JSON.stringify(result); } console.log(sortTeamIdPoint(team_id_Point, false));

O una matriz de objetos:

 let team_id_Point = [ {id: 26, points: 15}, {id: 32, points: 1}, {id: 127, points: 21}, ]; function sortTeamIdPoint(data = [], asc = true) { const result = [...data]; const sign = asc ? 1 : -1; result.sort((a, b) => (a.id - b.id) * sign); return JSON.stringify(result); } console.log(sortTeamIdPoint(team_id_Point, false));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda