2016-08-30 8 views
-1

(Highcharts) :자바 스크립트 푸시 JSON 나는이 빈 배열이

var seriesGraficos =[]; 

이 이미 만들어진 바르 :

var dataEnergiaContratadaA = [1458, 1332, 777]; 
var dataDemandaA = [18, 13, 77]; 
var nameEnergiaContratadaA = "Energy"; 
var nameDemandaA = "Demand"; 

을 나는이 방법처럼 배열을 작성해야합니다 (I 필요 정확히 같은 seriesGraficos, 그것은 Highcharts의 직렬 배열)입니다 :

seriesGraficos = [{ 
     name: nameEnergiaContratadaA, 
     data: dataEnergiaContratadaA 
     }, { 
     name: nameDemandaA , 
     data: dataDemandaA 
     }]; 
내가 좋아하는 뭔가를 시도하고 있었다

:

seriesGraficos.push(
{"name": nameEnergiaContratadaA,"data": dataEnergiaContratadaA}, 
{"name": nameDemandaA,"data": dataDemandaA} 
); 

하지만 이해할 수 없습니다. 어떤 도움이 필요합니까?

+2

위의 예는 그대로 작동하는 것 같다. 필요한 배열을 생성합니다. https://plnkr.co/edit/Y7FaTJlLM3h04CuKwATo?p=preview – skreborn

+0

@RahulSharma'Array.prototype.push'는 여러 요소를 지원합니다. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/push – skreborn

+0

흠, 그래, 왜 그런지 모르지만 나는 많은 시간을 보냈고 일하지 않았다. 결과는 루프와 같다. 하지만, 이제는 작동합니다 ... (React, Symfony, Node.js, webpack 등을 사용하고 있습니다. 캐시 문제 일 수 있습니다) – pmirnd

답변

0

당신은 확산 연산자 ES6이 작업을 수행 할 수 있습니다

seriesGraficos = []; 
 
seriesGraficos.push(...[ 
 
{"name": 'nameEnergiaContratada',"data": 'dataEnergiaContratadaA'}, 
 
{"name": 'nameDemandaA',"data": 'dataDemandaA'} 
 
]); 
 

 
console.log(seriesGraficos);

+0

문자 그대로 정확히 원래의 스 니펫과 동일한 배열을 생성 합니다만, 그렇지 않습니다. ? – skreborn

+0

흠, 왜 그런지는 모르겠지만,이 작품은, 예를 들어, 'nameDemandaA'가 아니라 'vars'의 가치를 가지고 있습니다. 이렇게 : https://plnkr.co/edit/ZJ09Fyr4xNvQuYxthgCu?p=preview – pmirnd

+0

나는 그것을 단순화하기 위해 복사하지 않았다. 이것은 효과가 있지만, 의견에서 peopple은 여러 요소를 허용하는 push를 사용해야한다고 말합니다. –

관련 문제