2016-10-27 1 views
1

나는 특정 키의 객체 배열을 생성하기 위해 lodash를 사용하고 객체에서이 주어진 키를 제거했습니다.특정 키가있는 객체의 배열을 만든 다음 객체에서 해당 키를 제거합니다.

나는이

var cars = [{ 
     "itemID": "-KUsw42xU-S1qA-y3TiI", // use this as key 
     "name": "Car One", 
     "qtd": "1" 
    }, 
    { 
     "itemID": "-KUsw42xU-r1qA-s3TbI", 
     "name": "Car Two", 
     "qtd": "2" 
    } 
] 

이를 얻으려고 노력 있습니다

var cars = { 
    "-KUsw42xU-S1qA-y3TiI": { 
     "name": "Car One", 
     "qtd": "1" 
    }, 
    "-KUsw42xU-r1qA-s3TbI": { 
     "name": "Car Two", 
     "qtd": "1" 
    } 
} 

나는이 방법을 시도했다, 그러나 나는 더 성공이 없습니다.

_.chain(a) 
    .keyBy('itemID') 
    .omit(['itemID']) 
    .value(); 

답변

5

거의 다 왔었습니다. 각 개체에서 itemID를 생략하려면 값을 매핑해야합니다 (mapValues 사용) :

var result = _.chain(cars) 
    .keyBy('itemID') 
    .mapValues(v => _.omit(v, 'itemID')) 
    .value(); 
+0

감사합니다. 매력처럼 작동합니다. Firebase에서 이것을 사용하여 노드에서 사본을 만듭니다. – calebeaires