Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

this.http.get().map ordenando retorno STRING

Tenho um service fazendo uma chamada na API e retornando um JSON, porém, ao receber esse array, o mesmo está reordenando as strings.

return this.http
            .get(MINHA_URL)
            .map(res => res.json());

this.service.getGrafico(id_grafico, this.urlApi)
            .subscribe(res => {

                console.log(res);

console.log imprime o array assim: borderColor: (7) ["#37b8c8", "#87c743", "#8f8b85", "#bff0f7", "#ec1c24", "#ed0e8d", "#f9a201"]

Porém, a URL retorna assim: "backgroundColor":["#87c743","#ec1c24","#8f8b85","#f9a201","#ed0e8d","#37b8c8","#bff0f7"]

Alguém já viu algo assim??? App é em IONIC, fazendo a chamada em uma API.

2 respostas

Porém, a URL retorna assim: "backgroundColor":["#87c743","#ec1c24","#8f8b85","#f9a201","#ed0e8d","#37b8c8","#bff0f7"]

URL que eu disse é o retorno do console.log. Parece que quando é feito o .map o array de string é reordenado em ordem alfabética. Não entendi porque isso ocorre.

solução!

Fiz o teste abaixo:

//Chama a API para pegar os dados do gráfico
            this.service.getGrafico(id_grafico, this.urlApi)
            .subscribe(res => {

                console.log(res);

                res = res.json();

                console.log(res);

Primeiro console.log imprime: ["yellow", "red", "green"], correto que vem do retorno da API, nessa ordem. Após o JSON, fica ordenado.

O segundo: ["green", "red", "yellow"]

Quero tirar isso. Alguém sabe? Já viu isso?