【发布时间】:2016-05-06 06:06:36
【问题描述】:
我有一个对象数组 products,其属性为“categoryid, categoryname, name, price”。 我想从这里返回一个只有“categoryid, categoryname”的对象数组,但由于 categoryid 存在多次,我只想要唯一的结果。
我可以使用此代码获取这两个字段,但它不会是唯一的。
_.map(products, _.partialRight(_.pick, ['categoryid', 'category']))
我怎样才能使它独一无二?
【问题讨论】:
-
你会接受只有 JS 的解决方案还是必须使用 Lodash?
-
正如@gurvinder372 提到的,您可以先获取唯一值,然后将它们映射出来。
_(products).uniqBy('categoryId').map(_.partialRight(_.pick, ['categoryid', 'categroyname'])).value()
标签: javascript arrays dictionary lodash