У меня есть массив объектов:
[{id:3}, {id:5}, {id:3}]
Нужно из этого массива убрать дубликаты. Как это вижу я:
ids = [];
array.forEach(function( object ){
if( ~ids.indexOf(object.id) ) {
// удаляем сплайсом этот object из массива
} else {
ids.push(object.id);
}
});
Я не уверен, что алгоритм оптимален. Есть ли более оптимальные пути удалять объекты с дублирующимся значением ключа?
UPD Здесь forEach неуместен, нужно юзать обычный for, но это замечание сути дела не меняет