Eu tenho um objeto como este voltando como uma resposta JSON do servidor:
{"0":"1","1":"2","2":"3","3":"4"}
Quero convertê-lo em uma matriz JavaScript como esta:
["1","2","3","4"]
Existe a melhor maneira de fazer isso? Onde quer que eu esteja lendo, as pessoas estão usando lógica complexa usando loops. Então, existem métodos alternativos para fazer isso?
javascript
jquery
arrays
json
javascript-objects
Nikhil Agrawal
fonte
fonte
Respostas:
Na verdade, é muito direto com o jQuery
$.map
FIDDLE
e quase tão fácil sem o jQuery, como converter as chaves em uma matriz e, em seguida, mapear os valores com
Array.map
FIDDLE
Isso pressupõe que ele já foi analisado como um objeto javascript e não é realmente JSON, que é um formato de string, nesse caso, uma execução
JSON.parse
também seria necessária.No ES2015 há
Object.values
o resgate, o que torna isso uma brisafonte
Espero que seja isso que você procura!
fonte
Você simplesmente faz como
DEMO
fonte
Não há nada como um "objeto JSON" - JSON é uma notação de serialização.
Se você deseja transformar seu objeto javascript em uma matriz javascript , escreva seu próprio loop [que não seria tão complexo!] Ou use o
_.toArray()
método underscore.js :fonte
Nada difícil aqui. Passe pelos elementos do objeto e atribua-os à matriz
http://jsfiddle.net/Qq2aM/
fonte
DEMO
fonte
Tente o seguinte:
fonte
Outra alternativa para a questão
fonte
Usando javascript bruto, suponha que você tenha:
Você pode obter os valores com:
Resultado:
fonte
Não tenho certeza do que estou perdendo aqui, mas simplesmente tentando o código abaixo faz o trabalho. Estou perdendo alguma coisa aqui?
https://jsfiddle.net/vatsalpande/w3ew5bhq/
fonte
Supondo que você tenha um valor como o seguinte
Em seguida, você pode transformar isso em uma matriz javascript usando o seguinte
Isso funciona para converter json em matrizes javascript multi-dimensionais também.
Nenhum dos outros métodos nesta página pareceu funcionar completamente para mim ao trabalhar com strings codificadas em php json, exceto o método que estou mencionando aqui.
fonte
Aqui está um exemplo de como você pode obter uma matriz de objetos e depois classificá-la.
fonte
Esta é a melhor solução. Acho que sim.
fonte
fonte
Você pode converter json Object em Array & String usando PHP.
fonte
Você pode usar
Object.assign()
com uma matriz vazia literal[]
comotarget
:Se você marcar o polyfill ,
Object.assign(target, ...sources)
copie todas as propriedades próprias enumeráveis dossource
objetos para um objeto de destino. Setarget
for uma matriz, ela adicionará as chaves numéricas ao literal da matriz e retornará essetarget
objeto de matriz.fonte