Bir diziden kaldırmak istediğiniz öğenin indeksini indexOf
kullanarak bulabilir ve ardından bu indeksi splice
ile kaldırabilirsiniz.
splice()
metodu, mevcut öğeleri kaldırarak ve/veya yeni öğeler ekleyerek bir dizinin içeriğini değiştirir.
Aşağıda basit bir örnek verilmiştir:
const array = [2, 5, 9];
console.log(array); // [2, 5, 9]
const index = array.indexOf(5);
if (index > -1) { // öğe bulunduğunda diziyi yalnızca spliceliyoruz
array.splice(index, 1); // 2. parametre yalnızca bir öğe kaldırmayı belirtir
}
// array = [2, 9]
console.log(array); // [2, 9]
splice
metodunun ikinci parametresi, kaldırılacak öğe sayısını belirtir. Dikkat edin ki splice
diziyi yerinde değiştirir ve kaldırılan öğeleri içeren yeni bir dizi döner.
Tamamlayıcılık açısından, iki işlev aşağıda verilmiştir. İlk işlev yalnızca bir kez bulunan bir öğeyi (örneğin, [2, 5, 9, 1, 5, 8, 5]
dizisinden 5’in ilk eşleşmesini) kaldırırken, ikinci işlev tüm eşleşmeleri kaldırır:
function removeItemOnce(arr, value) {
var index = arr.indexOf(value);
if (index > -1) {
arr.splice(index, 1);
}
return arr;
}
function removeItemAll(arr, value) {
var i = 0;
while (i < arr.length) {
if (arr[i] === value) {
arr.splice(i, 1);
} else {
++i;
}
}
return arr;
}
// Kullanım
console.log(removeItemOnce([2, 5, 9, 1, 5, 8, 5], 5)); // [2, 9, 1, 5, 8, 5]
console.log(removeItemAll([2, 5, 9, 1, 5, 8, 5], 5)); // [2, 9, 1, 8]
TypeScript’te, bu işlevler bir tür parametresi ile tür güvenliğini koruyabilir:
function removeItem<T>(arr: Array<T>, value: T): Array<T> {
const index = arr.indexOf(value);
if (index > -1) {
arr.splice(index, 1);
}
return arr;
}
Bu şekilde, JavaScript veya TypeScript kullanarak diziden belirli öğeleri kaldırmayı kolayca gerçekleştirebilirsiniz.