let uniqIds = {}, source = [{id:'a'},{id:'b'},{id:'c'},{id:'b'},{id:'a'},{id:'d'}]; let filtered = source.filter(obj => !uniqIds[obj.id] && (uniqIds[obj.id] = true)); console.log(filtered); // EXPECTED: [{id:'a'},{id:'b'},{id:'c'},{id:'d'}];