2017-09-14 9 views
0

안녕을 선택 나는 비누 서비스에서 데이터를 받고 JSON으로 XML을 변환하고이 같은 필요한 값을 받고 있어요 :Lodash 깊은

console.log(result['soap:Envelope']['soap:Body']['ns2:getFichaGeneralResponse']['return']['instituciones']['datosPrincipales']['registros'][1].valor) 

같은 것을 할 수있는 방법이 있습니까?

console.log(_.pick(result, 'registros')) 

그래서 필요한 정보가있는 객체를 얻을 수 있습니까?

+0

방법'result' 변수를 찾습니다

예를 들어, 아래의 객체에서 경로 a.b.c에 의해 { d: 'foo', e: 'bar' }을 얻으려면? 그 구조는 무엇입니까? 이 console.log는 'console.log ('soap : Envelope '] ['soap : Body '] ['ns2 : getFichaGeneralResponse '] ['return '] ['instituciones '] ['datosPrincipales '] [ 'registros'] [1] .valor)' –

답변

1

정확하게 이해한다면 복잡한 객체가 있고 지정된 경로로 소품을 고르고 싶습니까?

var object = { 
 
    a: { 
 
    b: { 
 
     c: { 
 
     d: 'foo', 
 
     e: 'bar', 
 
     f: 'baz' 
 
     } 
 
    } 
 
    }, 
 
    g: { 
 
    h: 1 
 
    } 
 
}; 
 

 
function pickPropsByPath(object, path, arrayOfPropsNames) { 
 
    return _.pick(_.get(object, path), arrayOfPropsNames); 
 
} 
 

 
console.log(pickPropsByPath(object, 'a.b.c', ['d', 'e'])) // => { d: 'foo', e: 'bar' }
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>