从对象数组获取不同的值

use*_*165 -1 javascript

假设我有以下内容:

var array = 
    [
        {"name":"a", "category":1}, 
        {"name":"a", "category":2}, 
        {"name":"b", "category": 1}
        {"name":"b", "category": 2}
    ]
Run Code Online (Sandbox Code Playgroud)

我必须先找到所有不同名称的数组:

    [
        {"name":"a", "category":1}, 
        {"name":"b", "category": 1}
    ]
Run Code Online (Sandbox Code Playgroud)

我尝试过,Set但仍然可以获得完整的阵列,我在做什么错?

那是我的代码:

{data.length > 0 && [
        ...new Set(
          data.map(item => {
            item.name;
            const pageChanges = {
              departmentId: item.id,
              departmentName: item.name,
            };

            return (
              <Tile
                text={item.name}
                key={item.id}
              />
            );
          }),
        ),
      ]}
Run Code Online (Sandbox Code Playgroud)

tym*_*eJV 6

只是根据name道具过滤重复项

let values = array.filter((a, i, self) => {
    return i === self.findIndex(z => z.name === a.name);
});
Run Code Online (Sandbox Code Playgroud)