从对象列表获取唯一属性列表的快速方法

时间:2020-04-20 05:26:44

标签: javascript arrays set

我有一个对象列表,其中包含Test的大量元素:

Test:{name:'', creator:''}

要求从该列表中提取一个唯一创建者列表。我尝试过:

const creators = Array.from(new Set(tests.map(t=>t.creator))

这很好用,但是由于变化迅速,我不得不一次又一次地打电话给我。因此,这会花费更多时间并滞后于UI。如何比当前实现更有效地构建此数组?

编辑:

上下文信息:

由于

在用户界面上呈现,因此需要唯一的元素数组(未设置

tests.map(test=><Test data={test}/>)

1 个答案:

答案 0 :(得分:-2)

您可以使用lodash库的函数“ uniqBy”来解决此问题。

文档:https://lodash.com/docs#uniqBy

示例:-

_.uniqBy(data, function (e) {
  return e.creator;
});