2016-10-27 7 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

あなたはほぼそこにいました。あなたは(mapValuesを使用して)値をマッピングする必要がある各オブジェクトからITEMIDを省略するには、次の

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

感謝を。魅力のように動作します。 Firebaseでこれを使ってノードからコピーを作成しています。 – calebeaires

関連する問題