>

Vue js를 사용하고 있으며 Axios 호출 후 그래프에 전달하기 위해 Google 차트를 사용하는 경우 새 배열을 만들어야합니다.

Axios 호출에서이 결과를 얻습니다 :

[{ "id": "7", "item": "item 1", "month": "6", "sum": "3" },
{ "id": "8", "item": "item 2", "month": "6", "sum": "1" },
{ "id": "6", "item": "item 3", "month": "6", "sum": "3" },
{ "id": "5", "item": "item 4", "month": "6", "sum": "5" },
{ "id": "4", "item": "item 5", "month": "6", "sum": "19" }]

그리고 아이템을 나열한 다음에 "Month"라는 단어를 첫 줄에 고정한이 형식 (EDIT :)으로 배열을 만들어야합니다. 두 번째 줄에는 월 이름 (월 번호 기준)과 합계 열 값이 있어야합니다 :

['Month', 'item 5', 'item 4', 'item 3'],
['June', 19, 5, 3],

Axios 호출 후에 for를 사용하려고합니다 :

this.axios.post('Mycontroller/getCountByMonth',{
}).then((response) => {
        this.dataMonth = response.data.dataMonth;
        console.log('getList 2', this.dataMonth )
    for (i = 0; i < this.dataMonth; i++) { 
          console.log('getList 3')
          console.log(' >> ', this.dataMonth[i])
        }

디버그하고 for 루프에 들어 가지 않는다는 것을 알았습니다

typeof를 사용하면 변수가 객체라는 것을 알 수 있습니다.

Axios 호출로 인해 생성 된 객체에서 원하는 형식으로 배열을 만들려면 어떻게해야합니까?

  • 답변 # 1

    한 단계 뒤로 가자. 귀하의 요청의 결과는 그 것입니다.

    { "id": "7", "item": "item 1", "month": "6", "sum": "3" }
    { "id": "8", "item": "item 2", "month": "6", "sum": "1" }
    { "id": "6", "item": "item 3", "month": "6", "sum": "3" }
    { "id": "5", "item": "item 4", "month": "6", "sum": "5" }
    { "id": "4", "item": "item 5", "month": "6", "sum": "19" }
    
    

    이것은 유효한 JSON이 아닙니다. 이것은 JSONL (JSON Lines)입니다.

    var myArrayData = [];
    myJSONLResult.split('\n').map(function (row) {
        var resultRowAsArray = JSON.parse(row);
        myArray.push(resultRowAsArray);
    });
    
    

    이제 myArrayData 로 넘어 가서 처리 할 수 ​​있습니다.  일부 루프 또는 배열 기능을 원할 때.

관련 자료

  • 이전 java - 두 복식이 거의 같은지 확인하는 방법
  • 다음 objective c - MKMapView에지도 주석을 추가하는 방법?