2016-05-06 102 views
0

我有一個對象數組,產品,屬性爲「categoryid,categoryname,name,price」。 我想從這個返回一個對象數組只有「categoryid,categoryname」,但由於classid存在多次,我只想要唯一的結果。從對象數組中獲取uniq [key,value]使用lodash

我可以用這段代碼得到兩個字段,但它不會是唯一的。

_.map(products, _.partialRight(_.pick, ['categoryid', 'category'])) 

我該如何使這個獨特?

+0

你會好起來的與JS唯一的解決辦法或Lodash是必須的? – gurvinder372

+3

http://stackoverflow.com/questions/31740155/lodash-remove-duplicates-from-array – gurvinder372

+1

作爲@ gurvinder372提到你可以得到獨特的價值觀,然後映射出來。 '_(products).uniqBy('categoryId')。map(_。partialRight(_。pick,['categoryid','categroyname']))。value()' – ryeballar

回答

0

我能做到這一點的兩條獨立的線路:

var uniq = _.uniqBy(vm.productList, 'categoryid'); 
vm.categories = _.map(uniq, _.partialRight(_.pick, ['categoryid', 'category']))