Tengo un objeto como este que regresa como una respuesta JSON del servidor:
{"0":"1","1":"2","2":"3","3":"4"}
Quiero convertirlo en una matriz de JavaScript como esta:
["1","2","3","4"]
¿Hay una mejor manera de hacer esto? Dondequiera que estoy leyendo, la gente usa una lógica compleja usando bucles. Entonces, ¿hay métodos alternativos para hacer esto?
javascript
jquery
arrays
json
javascript-objects
Nikhil Agrawal
fuente
fuente
Respuestas:
En realidad es muy sencillo con jQuery's
$.map
VIOLÍN
y casi tan fácil sin jQuery también, convirtiendo las claves en una matriz y luego mapeando los valores con
Array.map
VIOLÍN
Asumiendo que ya está analizado como un objeto javascript, y que en realidad no es JSON, que es un formato de cadena, en ese caso también
JSON.parse
sería necesario analizarlo.En ES2015 hay
Object.values
que rescatar, lo que hace que sea muy fácilfuente
Espero que esto es lo que buscas!
fuente
Simplemente lo haces como
MANIFESTACIÓN
fuente
No hay nada como un "objeto JSON": JSON es una notación de serialización.
Si desea transformar su objeto javascript en una matriz javascript , escriba su propio bucle [que no sería tan complejo], o confíe en el método underscore.js
_.toArray()
:fuente
Nada difícil aquí. Recorra los elementos de su objeto y asígnelos a la matriz.
http://jsfiddle.net/Qq2aM/
fuente
MANIFESTACIÓN
fuente
Prueba esto:
fuente
Otra alternativa a la pregunta.
fuente
Usando javascript sin procesar, suponga que tiene:
Puede obtener los valores con:
Salida:
fuente
No estoy seguro de lo que me falta aquí, pero simplemente intentar el siguiente código hace el trabajo. ¿Me estoy perdiendo algo aquí?
https://jsfiddle.net/vatsalpande/w3ew5bhq/
fuente
Asumiendo que tiene un valor como el siguiente
Luego puede convertir esto en una matriz de JavaScript utilizando lo siguiente
Esto funciona para convertir json en matrices javascript multidireccionales también.
Ninguno de los otros métodos en esta página parecía funcionar completamente para mí cuando trabajaba con cadenas codificadas por php json, excepto el método que menciono aquí.
fuente
Aquí hay un ejemplo de cómo podría obtener una matriz de objetos y luego ordenar la matriz.
fuente
Esta es la mejor solución. Creo que sí.
fuente
fuente
Puede convertir json Object en Array & String usando PHP.
fuente
Puede usar
Object.assign()
un literal de matriz vacío[]
comotarget
:Si marca el polyfill ,
Object.assign(target, ...sources)
solo copia todas las propiedades propias enumerables de lossource
objetos a un objeto de destino. Sitarget
es una matriz, agregará las claves numéricas al literal de la matriz y devolverá esetarget
objeto de la matriz.fuente