Javascript'te benzersiz (enique) elemanlardan oluşan bir array (vektör) gerektiren bir projede elinizdeki vektörde bir kayıt bir kereden fazla geçiyorsa Javascript ile en kısa yoldan aşağıdaki gibi tekrarlayan kayıtları silebilirsiniz. 3 farklı çözüm yolunu aşağıda paylaşıyorum.
Önce tekrarlı kayıtlardan oluşan ham vektörümüze bakalım:
const vektor = [15, 20, 15, 15, 20, 30, 40];
console.log(vektor); //(7) [15,20,15,15,20,30,40]
Şimdi vektörümüzde birden fazla kez geçen sayıları silelim.
1. Yol: Set Kullanmak
const vektor = [15, 20, 15, 15, 20, 30, 40];
console.log(vektor); //[15,20,15,15,20,30,40]
const benzersiz1 = [...new Set(vektor)];
console.log(benzersiz1) //[15,20,30,40]
2. Yol: Array.prototype.reduce Kullanmak
const vektor = [15, 20, 15, 15, 20, 30, 40];
const benzersiz2 = vektor.reduce((result, element) => {
return result.includes(element) ? result : [...result, element];
}, []);
console.log(benzersiz2) // [15,20,30,40]
3. Yol: Array.prototype.filter Kullanmak
const vektor = [15, 20, 15, 15, 20, 30, 40];
const benzersiz3 = vektor.filter((element, index) => {
return vektor.indexOf(element) === index;
});
console.log(benzersiz3) // [15,20,30,40]