2014-10-28 3 views
0

오브젝트의 재구성 배열 :자바 스크립트 - 나는 현재 다음과 같습니다 객체의 배열이

[ 
    { 
     "key":"CES0000000001", 
     "25568.95655":"29923", 
     "25568.96078":"31603" 
    }, 
    { 
     "key":"CES0000000001", 
     "25568.96501":"34480", 
     "25568.96924":"38347" 
    } 
] 

I는 다음과 같이이 데이터를 재구성하는 가장 좋은 방법을 알아 내려고 노력 해요 :

[ 
    { 
     "key":"CES0000000002", 
     "values": [ [ 25568.95655 , 29923 ] , [ 25568.96078 , 31603 ] ] 
    }, 

    { 
     "key":"CES0000000002", 
     "values": [ [ 25568.96501 , 34480 ] , [ 25568.96924 , 38347 ] ] 
    } 
] 

누구나 javascript 객체를 구조 조정할 수있는 좋은 자료가 있습니까? d3.js를 사용하여 시각화에 대한 정보를 얻고 데이터 형식이 중요합니다.

+1

이 보인다. 구체적으로 당신은 무엇을 고집하고 있습니까? –

+0

그리고 두 번째 객체가 '키'를 어디에서 가져 오나요? 원본 데이터에는 표시되지 않습니다. –

+0

두 번째 개체 키로 오타가 수정되었습니다. 나는 배열/객체로 작업하는 것에 익숙하지 않고 여기에서 사용해야하는 메소드가 확실하지 않다. iSchluff는 작업을 완료하는 간단한 예를 제공했습니다. 감사! – thefreeline

답변

2

내 솔루션이 될 것입니다 당신이해야 할 모든 배열을 통해 루프이고 일부는 지금`key`와`values` 속성을 사용하여 객체를 생성처럼

var arr= [ 
    { 
     "key":"CES0000000001", 
     "25568.95655":"29923", 
     "25568.96078":"31603" 
    }, 
    { 
     "25568.96501":"34480", 
     "25568.96924":"38347" 
    } 
]; 

var transformed= arr.map(function(obj){ 
    var result= { 
     key: obj.key, 
     values: [] 
    } 

    for (var key in obj) { 
     if (obj.hasOwnProperty(key) && key !== "key") { 
      result.values.push([key, obj[key]]); 
     } 
    } 
    return result; 
}); 

console.log(transformed); 
+0

깨끗한 답변 주셔서 감사합니다. – thefreeline

관련 문제