我使用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();
答案 0 :(得分:8)
你快到了。要省略每个对象的itemID,您需要映射值(使用mapValues):
var result = _.chain(cars)
.keyBy('itemID')
.mapValues( v => _.omit(v, 'itemID'))
.value();