I have a array like this:
[
  {
    id: 12,
    selected: true
  },
  {
    id: 12,
    selected: true
  }
]
I want only remove one of the same ID, but filter remove all, how can I only remove one object?
I have a array like this:
[
  {
    id: 12,
    selected: true
  },
  {
    id: 12,
    selected: true
  }
]
I want only remove one of the same ID, but filter remove all, how can I only remove one object?
 
    
    To remove one object out of all duplicates you could use this:
let objectIds = {};
[
  {
    id: 12,
    selected: true
  },
    ,
  {
    id: 14,
    selected: true
  },
  {
    id: 12,
    selected: true
  },
  {
    id: 12,
    selected: true
  },
  {
    id: 14,
    selected: true
  }
].filter((obj) => {
    const oid = objectIds[obj.id];
    if ( oid ) {
        oid.nr += 1;
    } else {
        return objectIds[obj.id] = {nr: 1};
    }
    if (oid.nr > 1 && !oid.removed) {
        oid.removed = true;
        return false;
    }
    return true;
});
