Conversione di oggetti JavaScript con chiavi numeriche in array

Ho un object come questo che ritorna come una risposta JSON dal server:

{"0":"1","1":"2","2":"3","3":"4"} 

Voglio convertirlo in un array JavaScript come questo:

 ["1","2","3","4"] 

C’è un modo migliore per farlo? Ovunque io legga, le persone usano la logica complessa usando i loop. Quindi ci sono metodi alternativi per farlo?

In realtà è molto semplice con $.map jQuery

 var arr = $.map(obj, function(el) { return el }); 

VIOLINO

e quasi altrettanto semplice anche senza jQuery, convertendo le chiavi in ​​un array e quindi eseguendo il mapping dei valori con Array.map

 var arr = Object.keys(obj).map(function(k) { return obj[k] }); 

VIOLINO

Supponendo che sia già analizzato come un object javascript e che in realtà non sia JSON, che è un formato stringa, in tal caso sarebbe necessaria anche un’esecuzione attraverso JSON.parse .

In ES2015 ci sono Object.values per il salvataggio, il che rende questo un gioco da ragazzi

 var arr = Object.values(obj); 
 var json = '{"0":"1","1":"2","2":"3","3":"4"}'; var parsed = JSON.parse(json); var arr = []; for(var x in parsed){ arr.push(parsed[x]); } 

Spero che questo sia ciò che stai cercando!

Lo fai semplicemente come

 var data = { "0": "1", "1": "2", "2": "3", "3": "4" }; var arr = []; for (var prop in data) { arr.push(data[prop]); } console.log(arr); 

DEMO

Non c’è niente come un “object JSON” – JSON è una notazione di serializzazione.

Se vuoi trasformare il tuo object javascript in un array javascript , puoi scrivere il tuo loop [che non sarebbe così complesso!], Oppure ti affidi al metodo underscore.js _.toArray() :

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var yourArray = _(obj).toArray(); 

Niente di difficile qui. Passa in rassegna gli elementi dell’object e assegnali all’array

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var arr = []; for (elem in obj) { arr.push(obj[elem]); } 

http://jsfiddle.net/Qq2aM/

 var JsonObj= {"0":"1","1":"2","2":"3","3":"4"}; var array = []; for(var i in JsonObj) { if(JsonObj.hasOwnProperty(i) && !isNaN(+i)) { array[+i] = JsonObj[i]; } } 

DEMO

Prova questo:

 var newArr = []; $.each(JSONObject.results.bindings, function(i, obj) { newArr.push([obj.value]); }); 

Utilizzando il javascript raw, supponiamo di avere:

 var j = {0: "1", 1: "2", 2: "3", 3: "4"}; 

Puoi ottenere i valori con:

 Object.keys(j).map(function(_) { return j[_]; }) 

Produzione:

 ["1", "2", "3", "4"] 

Non sono sicuro di cosa mi manca qui, ma semplicemente provando il codice qui sotto fa il lavoro. Mi sto perdendo qualcosa qui?

https://jsfiddle.net/vatsalpande/w3ew5bhq/

 $(document).ready(function(){ var json = { "code" :"1", "data" : { "0" : {"id":"1","score":"44"}, "1" : {"id":"1","score":"44"} } }; createUpdatedJson(); function createUpdatedJson(){ var updatedJson = json; updatedJson.data = [updatedJson.data]; $('#jsondata').html(JSON.stringify(updatedJson)); console.log(JSON.stringify(updatedJson)); } }) 

Supponendo che tu abbia un valore come il seguente

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; 

Quindi puoi trasformarlo in un array javascript usando quanto segue

 var arr = []; json = JSON.stringify(eval('(' + obj + ')')); //convert to json string arr = $.parseJSON(json); //convert to javascript array 

Questo funziona per convertire json in array javascript multi-diminsional.

Nessuno degli altri metodi in questa pagina sembrava funzionare completamente per me quando si lavora con stringhe con php json-encoded tranne il metodo che sto menzionando qui.

Ecco un esempio di come è ansible ottenere una matrice di oggetti e quindi ordinare la matrice.

  function osort(obj) { // map the object to an array [key, obj[key]] return Object.keys(obj).map(function(key) { return [key, obj[key]] }).sort( function (keya, keyb) { // sort(from largest to smallest) return keyb[1] - keya[1]; } ); } 

Questa è la soluzione migliore. Penso che sia così.

 Object.keys(obj).map(function(k){return {key: k, value: obj[k]}}) 
 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var vals = Object.values(obj); console.log(vals); //["1", "2", "3", "4"] 

Un’altra alternativa alla domanda

 var vals = Object.values(JSON.parse(obj)); //where json needs to be parsed 

Puoi convertire json Object in Array & String usando PHP.

 $data='{"resultList":[{"id":"1839","displayName":"Analytics","subLine":""},{"id":"1015","displayName":"Automation","subLine":""},{"id":"1084","displayName":"Aviation","subLine":""},{"id":"554","displayName":"Apparel","subLine":""},{"id":"875","displayName":"Aerospace","subLine":""},{"id":"1990","displayName":"Account Reconciliation","subLine":""},{"id":"3657","displayName":"Android","subLine":""},{"id":"1262","displayName":"Apache","subLine":""},{"id":"1440","displayName":"Acting","subLine":""},{"id":"710","displayName":"Aircraft","subLine":""},{"id":"12187","displayName":"AAC","subLine":""}, {"id":"20365","displayName":"AAT","subLine":""}, {"id":"7849","displayName":"AAP","subLine":""}, {"id":"20511","displayName":"AACR2","subLine":""}, {"id":"28585","displayName":"AASHTO","subLine":""}, {"id":"45191","displayName":"AAMS","subLine":""}]}'; $b=json_decode($data); $i=0; while($b->{'resultList'}[$i]) { print_r($b->{'resultList'}[$i]->{'displayName'}); echo "
"; $i++; }
  var data = []; data = {{ jdata|safe }}; //parse through js var i = 0 ; for (i=0;i 
 var obj= {"0":"1", "1":"2", "2":"3", "3":"4"}; var arr = []; var keys = window.jQuery.map(obj, function(value, key) { arr.splice(key, 0, value); console.log(arr); });