Javascript 我想删除数组中的重复值

Javascript 我想删除数组中的重复值,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,如果数组中有相同的id,我想将其删除。 在下文中,id3和id4是重复的。我想删除重复项并创建一个类似①. 我使用了indexof,如下所示,但我无法消除重复的值​​从阵列中删除。 如果有人知道,我想问一位教授 // users {id:1, name: 'aaaaa', type: "text"} {id:2, name: 'bbbbb', type: "text"} {id:3, name: 'ccccc', type:

如果数组中有相同的id,我想将其删除。
在下文中,id3和id4是重复的。我想删除重复项并创建一个类似①.
我使用了indexof,如下所示,但我无法消除重复的值​​从阵列中删除。
如果有人知道,我想问一位教授

// users
     {id:1, name: 'aaaaa', type: "text"}
     {id:2, name: 'bbbbb', type: "text"}
     {id:3, name: 'ccccc', type: "text"}
     {id:3, name: 'dddddd', type: "text"}
     {id:4, name: 'eeeeee', type: "text"}
     {id:4, name: 'ffffff', type: "text"}

您可以使用
Array.prototype.reduce()
方法删除重复项。遍历数组并按id将其分组

const用户=[
{id:1,名称:'aaaaa',键入:'text'},
{id:2,名称:'bbbbb',类型:'text'},
{id:3,名称:'cccccc',类型:'text'},
{id:3,名称:'dddddd',类型:'text'},
{id:4,名称:'eeeeee',键入:'text'},
{id:4,名称:'ffffff',键入:'text'},
];
const ret=Object.values(
用户。减少((上一个,c)=>{
常数p=上一个;
const key=c.id;
p[key]=c;
返回p;
}, {})
);

控制台日志(ret)常量ret的类型为未知[]。如何将其设置为用户[]类型?为什么创建
const p=prev
变量?这没用anything@adiga,对声明为函数参数的变量的赋值可能会产生误导,并导致混淆行为。所以,我养成了这样的习惯,并且总是这样编码。@satodesu将类型添加到ret
const-ret:Users[]
//①Array with duplicates removed
 {id:1, name: 'aaaaa', type: "text"}
 {id:2, name: 'bbbbb', type: "text"}
 {id:3, name: 'dddddd', type: "text"}
 {id:4, name: 'ffffff', type: "text"}
  const List = (users:Users[]) => {
    const arrayUsers = users.filter((x, i, self) => {
      return self.indexOf(x) === i;
    });