Mendeteksi Duplikat dalam Array

Salah satu cara untuk deteksi duplikat di dalam Array pake some() & findIndex().

function hasDuplicates(arr, field){
  return arr.some((obj, idx)=>{
    
    if(!obj[field]){
      throw new Error('Unknown field: '+field) 
    }
    
    // cari objek yg punya field
    // valuenya sama tapi indeksnya beda dari indeks
    // yang skrg lagi diinspeksi (some)
    return arr.findIndex((o)=>{			
      return obj[field] === o[field]
    }) !== idx;
  })
}


hasDuplicates([{name: 'a'},{name:'b'},{name:'c'}], 'name'); // false
hasDuplicates([{name: 'a'},{name:'a'},{name:'c'}], 'name'); // true
hasDuplicates([{age: 10},{age: 20},{age: 25}], 'age'); // false
hasDuplicates([{age: 10},{age: 20},{age: 20}], 'age'); // true