JavaScript'te dizi öğelerini silme - splice veya splice karşılaştırması


1334

Kullanarak arasındaki fark ne operatörü kullanmanın aksine dizi elemanı ile bir yöntem ?deleteArray.splice

Örneğin:

myArray = ['a', 'b', 'c', 'd'];

delete myArray[1];
//  or
myArray.splice (1, 1);

Nesnelerle yapabildiğim gibi dizi öğelerini silebilirsem neden splice yöntemi var?


3
İçin .splice: döngüler içinde, bu soruya bir göz javascript diziden Sil .
Rob W

6
@andynormancx Evet, ama bu cevap sadece ertesi gün yayınlandı ve çok daha fazla oy aldı - daha iyi yazılmış olduğunu söyleyebilirim, bu olmalı.
Camilo Martin

@andynormancx - Tam bir kopya gibi görünmüyor. Bağladığınız soru temel olarak bir öğeyi bir diziden silmenin (böylece seyrek yapılması) neden uzunluğunu azaltmayacağını sormaktır. Bu soru deleteve arasındaki farkları soruyor Array.prototype.splice.
chharvey

@chharvey kabul etti, daha da önemlisi bu soru 9 yıl önce nasıl gönderilebilir! Burada yorum yapmak beni eski hissettiriyor
andynormancx

Yanıtlar:


1693

deleteobject özelliğini siler, ancak diziyi yeniden endekslemez veya uzunluğunu güncellemez. Bu, tanımlanmamış gibi görünmesini sağlar:

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> delete myArray[0]
  true
> myArray[0]
  undefined

Aslında değere ayarlanmadığını undefined, bunun yerine özellik diziden kaldırıldığını ve tanımsız görünmesini sağladığını unutmayın . Chrome geliştirme araçları empty, diziyi kaydederken yazdırarak bu ayrımı netleştirir .

> myArray[0]
  undefined
> myArray
  [empty, "b", "c", "d"]

myArray.splice(start, deleteCount) aslında öğeyi kaldırır, diziyi yeniden endeksler ve uzunluğunu değiştirir.

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> myArray.splice(0, 2)
  ["a", "b"]
> myArray
  ["c", "d"]

74
Aslında delete yapar elemanını kaldırmak, ancak diziyi tekrar dizine veya (uzunluk her zaman en yüksek endeks + 1 olduğundan zaten eski ima edilir) uzunluğunu güncelleme etmez.
Felix Kling

3
JSlint, delete myArray[0]" Bir operatör bekleniyordu ve bunun yerine" sil "i gördü. " Sözdizimini sevmiyor splice.
Göz

21
@Eye: Aslında, JSLint sadece önceki satırda noktalı virgül eksikliğinden şikayet ediyor. Ve tamamen diğerine tavsiye edemezsiniz, çünkü tamamen farklı şeyler
yapıyorlar

3
"Bu durumda sil öğeyi yalnızca tanımsız olarak ayarlar:" Hayır, bu tamamen yanlış. delete myArray[0]Ve arasında temel bir fark vardır myArray[0] = undefined. Önceki durumda, özellik dizi nesnesinden tamamen kaldırılır. İkinci durumda, özellik değeriyle kalır undefined.
TJ Crowder

1
FYI, Chrome geliştirici araçları, gerçekten silinmiş (veya başlatılmamış) bir dizi öğesi ile gerçek değerine sahip bir öğe arasındaki farkı geliştirmek emptyyerine anahtar kelimeyi gösterir . Bunu söylemek olarak sadece bunu demek Not görüntüler olarak ve denilen gerçek değerine ifade etmez (yok). undefinedundefinedemptyempty
chharvey

340

Array.remove () Yöntemi

JQuery'nin yaratıcısı John Resig , Array.removebunu projelerimde her zaman kullandığım çok kullanışlı bir yöntem yarattı .

// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};

ve nasıl kullanılabileceğine dair bazı örnekler:

// Remove the second item from the array
array.remove(1);
// Remove the second-to-last item from the array
array.remove(-2);
// Remove the second and third items from the array
array.remove(1,2);
// Remove the last and second-to-last items from the array
array.remove(-2,-1);

John'un web sitesi


4
+1 Array.remove () için. Bununla birlikte, dize argümanlarından (örneğin, çoğu Array yönteminden farklı olarak) geçirilmekten mutluluk duymaz [1,2,3].slice('1'); // =[2,3], bu yüzden bunu değiştirmek daha güvenlidirvar rest = this.slice(parseInt(to || from) + 1 || this.length);
Richard Inglis

1
@tomwrong, javascript içinde hiçbir iş parçacığı yoktur ve işlev yürütülür, this.push.apply(this, rest)sonra döndürdüğü değeri döndürür
billy

59
Bu soruya hiç cevap vermiyor.
Ry-

16
Neden sadece splice () kullanmıyorsunuz? Bu işlevin adı, parametre adları ve sonuçlar açık değildir. Benim tavsiyem sadece splice (indeks, uzunluk) kullanmak - (Andy Hume'un cevabına bakınız)
auco

3
Yukarıda sağlanan işlev açıklandığı gibi çalışır, ancak for(var i in array)döngü içeren dizi üzerinden yineleme yaparken istenmeyen yan etkiler yaratır . Kaldırdım ve onun yerine splice kullandım.
alexykot

104

Sil yalnızca nesneyi dizideki öğeden kaldırdığından, dizinin uzunluğu değişmez. Ekleme nesneyi kaldırır ve diziyi kısaltır.

Aşağıdaki kod "a", "b", "tanımsız", "d"

myArray = ['a', 'b', 'c', 'd']; delete myArray[2];

for (var count = 0; count < myArray.length; count++) {
    alert(myArray[count]);
}

Oysa bu "a", "b", "d"

myArray = ['a', 'b', 'c', 'd']; myArray.splice(2,1);

for (var count = 0; count < myArray.length; count++) {
    alert(myArray[count]);
}

11
1,1 kullanarak ikinci örnekteki belirsizlik dışında büyük örnek - ilk 1, dizideki eki başlatmak için dizini belirtir, ikinci 1 kaldırılacak öğe sayısıdır. Yani 'c' orijinal diziden kaldırmak için kullanınmyArray.splice(2,1)
iancoleman

68

Bir diziden bir öğenin her oluşumunu nasıl kaldıracağımı anlamaya çalışırken bu soruya rastladım. İşte bir karşılaştırma var içinde spliceve deleteher kaldırılması için 'c'gelen itemsArray.

var items = ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd'];

while (items.indexOf('c') !== -1) {
  items.splice(items.indexOf('c'), 1);
}

console.log(items); // ["a", "b", "d", "a", "b", "d"]

items = ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd'];

while (items.indexOf('c') !== -1) {
  delete items[items.indexOf('c')];
}

console.log(items); // ["a", "b", undefined, "d", "a", "b", undefined, "d"]


10

splice sayısal indekslerle çalışacaktır.

oysa deletediğer tür endekslere karşı kullanılabilir.

misal:

delete myArray['text1'];

9
'Başka türlü endeksler' dediğinde, artık dizilerden değil, OP'nin istediği nesnelerden bahsediyorsun.
Yi Jiang

2
@YiJiang: Diziler Nesnelerdir. İndeksler özelliklerdir. Fark yok.
Bergi

9

Ayrıca, eklemenin sadece dizilerde çalıştığını da belirtmek gerekir. (Nesne özelliklerine tutarlı bir sırayı takip etmek için güvenilemez.)

Anahtar / değer çiftini bir nesneden kaldırmak için silmek istediğiniz şeydir:

delete myObj.propName;     // , or:
delete myObj["propName"];  // Equivalent.

delete, dizi anahtarlarını yeniden sıralamaz, bu nedenle: var arr = [1,2,3,4,5]; dizi sil [3]; for (var i = 0; i <= arr.length; i ++) console.log (arr [i]); beklenmedik sonuçlar sergileyecek.
Kristian Williams

Bu doğru. Dolayısıyla, bu konumda tanımsız bir öğe bırakmak istemiyorsanız, bir dizinin anahtarlarında delete komutunu KULLANMAYIN! Başlangıçta bu yorumu, silme işleminin doğru kullanımına ilişkin bir referans eklemek için ekledim.
jtrick

ama neden silmek beklenmedik sonuç atacak ??
Alex

9

Vs ekini sil

bir diziden bir öğe sildiğinizde

var arr = [1,2,3,4]; delete arr[2]; //result [1, 2, 3:, 4]
console.log(arr)

eklediğinizde

var arr = [1,2,3,4]; arr.splice(1,1); //result [1, 3, 4]
console.log(arr);

durumunda silme eleman silinir ancak endeks boş kalır

arasında durumda ise bağlantı elemanının silinir ve geri kalan elemanlar dizini buna göre azalır


8

Yukarıda birçok kez belirtildiği gibi, kullanmak splice()mükemmel bir uyum gibi görünüyor. Mozilla'daki belgeler:

splice()Yöntem, mevcut elemanları çıkarılması ve / veya yeni elemanları eklenerek bir dizi içeriğini değiştirir.

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];

myFish.splice(2, 0, 'drum'); 
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]

myFish.splice(2, 1); 
// myFish is ["angel", "clown", "mandarin", "sturgeon"]

Sözdizimi

array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)

Parametreler

Başlat

Diziyi değiştirmeye başladığınız dizin. Dizinin uzunluğundan büyükse, gerçek başlangıç ​​dizini dizinin uzunluğuna ayarlanır. Olumsuz ise, o kadar çok öğeyi baştan başlatacak.

deleteCount

Kaldırılacak eski dizi öğelerinin sayısını gösteren bir tam sayı. DeleteCount 0 ise, hiçbir öğe kaldırılmaz. Bu durumda, en az bir yeni öğe belirtmelisiniz. DeleteCount, başlangıçta dizide kalan öğe sayısından büyükse, dizinin sonundaki tüm öğeler silinir.

DeleteCount atlanırsa, deleteCount eşittir (arr.length - start).

madde1, madde2, ...

Başlangıç ​​dizininden başlayarak diziye eklenecek öğeler. Herhangi bir öğe belirtmezseniz, splice()yalnızca dizideki öğeleri kaldırır.

Geri dönüş değeri

Silinmiş öğeleri içeren bir dizi. Yalnızca bir öğe kaldırılırsa, bir öğenin dizisi döndürülür. Hiçbir öğe kaldırılmazsa, boş bir dizi döndürülür.

[...]


@downvoter: neden downvote? açıklamak ister misin, değil mi?
serv-inc

7

delete , gerçek olmayan bir dünya durumu gibi davranır, yalnızca öğeyi kaldırır , ancak dizi uzunluğu aynı kalır:

düğüm terminalinden örnek:

> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]

Burada, bir dizinin bir öğesini dilim () kullanarak dizine göre kaldırmak için kullanılan bir işlevdir ; ilk argüman olarak arr ve ikinci argüman olarak silmek istediğiniz üyenin dizinini alır. Gördüğünüz gibi, aslında dizinin üyesini siler ve dizi uzunluğunu azaltır 1

function(arr,arrIndex){
    return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}

Yukarıdaki işlev, tüm üyeleri dizine ve dizinden sonraki tüm üyeleri bir araya getirerek bunları birleştirir ve sonucu döndürür.

Yukarıdaki işlevi düğüm modülü olarak kullanan bir örnek, terminalin yararlı olacağını görmek için:

> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4 
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3

indexOf ("c") sadece ilk gerçekleşmeyi alacağından ve bulduğu ilk "c" yi ekleyip kaldıracağından, bunun içinde çiftler bulunan bir dizi çalışmayacağını lütfen unutmayın.


6

Büyük bir diziyi yinelemek ve öğeleri seçici olarak silmek isterseniz, her silme işlemi için splice () öğesini çağırmak pahalı olacaktır çünkü splice () her seferinde sonraki öğeleri yeniden endekslemek zorunda kalacaktır. Diziler Javascript'te ilişkilendirilebilir olduğundan, öğeleri tek tek silmek ve daha sonra diziyi yeniden dizine eklemek daha verimli olur.

Yeni bir dizi oluşturarak bunu yapabilirsiniz. Örneğin

function reindexArray( array )
{
       var result = [];
        for( var key in array )
                result.push( array[key] );
        return result;
};

Ama orijinal dizideki anahtar değerleri değiştirebileceğini düşünmüyorum, ki bu daha verimli olurdu - yeni bir dizi oluşturmanız gerekebilir.

"Tanımsız" girişleri kontrol etmenize gerek olmadığını unutmayın, çünkü bunlar gerçekte mevcut değildir ve for döngüsü onları döndürmez. Onları tanımsız olarak gösteren dizi baskısının bir eseridir. Hafızada görünmüyorlar.

Daha hızlı olan slice () gibi bir şey kullanabilseniz iyi olurdu, ancak yeniden endekslemez. Daha iyi bir yol bilen var mı?


Aslında, muhtemelen daha verimli, performans açısından aşağıdaki gibi yerinde yapabilirsiniz:

reindexArray : function( array )
{
    var index = 0;                          // The index where the element should be
    for( var key in array )                 // Iterate the array
    {
        if( parseInt( key ) !== index )     // If the element is out of sequence
        {
            array[index] = array[key];      // Move it to the correct, earlier position in the array
            ++index;                        // Update the index
        }
    }

    array.splice( index );  // Remove any remaining elements (These will be duplicates of earlier items)
},

++ indeksine inanıyorum; 'if' dışında gerçekleşmesi gerekir. Düzenleme yapma
mishal153

6

böyle bir şey kullanabilirsin

var my_array = [1,2,3,4,5,6];
delete my_array[4];
console.log(my_array.filter(function(a){return typeof a !== 'undefined';})); // [1,2,3,4,6]


bu, sliceişlevsel bir arka plandan gelmekten daha sezgiseldir (muhtemelen daha az verimli).
jethro

3

Neden sadece filtrelemiyoruz? Sanırım dizileri js olarak düşünmenin en açık yolu bu.

myArray = myArray.filter(function(item){
    return item.anProperty != whoShouldBeDeleted
});

Sadece 3 tanesinin kaldırılması gereken yüzlerce (binlerce değilse) kayıt içeren bir dizi ne olacak?
Joel Hernandez

iyi bir nokta. Uzunluğu 200 veya 300'den fazla olmayan ve çok iyi performans gösteren seyrek diziler için bu yöntemi kullanıyorum. Ancak, böylesi daha büyük dizileri yönetmek zorundaysanız alt çizgi gibi kütüphanelerin tercih edilmesi gerektiğini düşünüyorum.
Asqan

1
Ancak, çok daha güzel görünüyor deleteya slicebana.
Juneyoung Oh

3

Fark, deleteişleç ve splice()yöntem uygulandıktan sonra her dizinin uzunluğunun günlüğe kaydedilmesiyle görülebilir . Örneğin:

operatörü sil

var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
delete trees[3];

console.log(trees); // ["redwood", "bay", "cedar", empty, "maple"]
console.log(trees.length); // 5

deleteOperatör diziden elemanı kaldırır, fakat elemanın "tutucu" hala var. oakkaldırıldı ancak dizide yer kaplıyor. Bu nedenle, dizinin uzunluğu 5 kalır.

splice () yöntemi

var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
trees.splice(3,1);

console.log(trees); // ["redwood", "bay", "cedar", "maple"]
console.log(trees.length); // 4

splice()Yöntem tam olarak, hedef değer kaldırır ve hem de "tutucu". oak, dizide işgal etmek için kullandığı alanın yanı sıra kaldırıldı. Dizinin uzunluğu şimdi 4'tür.


2
function remove_array_value(array, value) {
    var index = array.indexOf(value);
    if (index >= 0) {
        array.splice(index, 1);
        reindex_array(array);
    }
}
function reindex_array(array) {
   var result = [];
    for (var key in array) {
        result.push(array[key]);
    }
    return result;
}

misal:

var example_arr = ['apple', 'banana', 'lemon'];   // length = 3
remove_array_value(example_arr, 'banana');

muz silinir ve dizi uzunluğu = 2


2

Farklı amaçları olan farklı şeyler bunlar.

splicesilme işlemi için kullanılan bir dizi-spesifik ve olduğu, bir dizi girişleri kaldırır ve boşluğu doldurmak için hareket önceki girdileri. (Aynı zamanda giriş eklemek veya her ikisini birden kullanmak için de kullanılabilir.) Dizinin (no-op çağrısı olmadığı varsayılarak ) splicedeğişmesine neden olur length. theArray.splice(x, 0)).

deletediziye özgü değildir; nesnelerde kullanılmak üzere tasarlanmıştır: Bir özelliği (anahtar / değer çifti) üzerinde kullandığınız nesneden kaldırır. Yalnızca diziler için geçerlidir, çünkü JavaScript'teki standart (ör. Türlenmemiş) diziler gerçekten diziler değildir *, adları "dizi dizini" olan ( "... sayısal değeri aralıkta olan dize adları" olarak tanımlanır ) ve . Bir dizi girişini kaldırmak için kullandığınızda , tek yapmanız gereken girişi kaldırmaktır; boşluğu doldurmak için onu takip eden diğer girişleri taşımaz ve böylece dizi "seyrek" olur (bazı girişlerin tamamen eksik olması gerekir). Üzerinde hiçbir etkisi yoktur .i+0 ≤ i < 2^32-1lengthdeletelength

Bu soruya verilen cevaplardan birkaçı yanlış bir deleteşekilde undefined" girdiyi" olarak ayarladığını "belirtir . Bu doğru değil. Bu kaldırır bir boşluk bırakarak tamamen girişi (özelliği).

Farkları göstermek için bazı kodlar kullanalım:

console.log("Using `splice`:");
var a = ["a", "b", "c", "d", "e"];
console.log(a.length);            // 5
a.splice(0, 1);
console.log(a.length);            // 4
console.log(a[0]);                // "b"

console.log("Using `delete`");
var a = ["a", "b", "c", "d", "e"];
console.log(a.length);            // 5
delete a[0];
console.log(a.length);            // still 5
console.log(a[0]);                // undefined
console.log("0" in a);            // false
console.log(a.hasOwnProperty(0)); // false

console.log("Setting to `undefined`");
var a = ["a", "b", "c", "d", "e"];
console.log(a.length);            // 5
a[0] = undefined;
console.log(a.length);            // still 5
console.log(a[0]);                // undefined
console.log("0" in a);            // true
console.log(a.hasOwnProperty(0)); // true


* (bu benim anemik küçük bloguma bir yazı)


2

Şu anda bunu yapmanın iki yolu var

  1. splice () kullanarak

    arrayObject.splice(index, 1);

  2. sil kullanarak

    delete arrayObject[index];

Ancak her zaman dizi nesneleri için splice kullanmanızı ve nesne öznitelikleri için delete kullanmanızı öneririm, çünkü delete dizi uzunluğunu güncellemez.


1

Tamam, aşağıda bu diziye sahip olduğumuzu düşünün:

const arr = [1, 2, 3, 4, 5];

Önce silelim:

delete arr[1];

Ve sonuç bu:

[1, empty, 3, 4, 5];

boş! ve hadi alalım:

arr[1]; //undefined

Yani sadece silinen değer anlamına gelir ve şimdi tanımsızdır , bu yüzden uzunluk aynıdır, ayrıca doğru dönecektir ...

Dizimizi sıfırlayalım ve bu sefer splice ile yapalım:

arr.splice(1, 1);

ve bu seferki sonuç:

[1, 3, 4, 5];

Gördüğünüz gibi dizi uzunluğu değiştirildi ve arr[1]bir 3 şimdi ...

Ayrıca bu, silinen öğeyi [3]bu durumda olan bir Dizide döndürür ...


1

Diğerleri zaten düzgün karşılaştırdık deleteile splice.

Bir başka ilginç karşılaştırma deletekarşı undefinedsilinmiş bir dizi öğe sadece ayarlandığında olandan daha az bellek kullanır: undefined;

Örneğin, bu kod bitmez:

let y = 1;
let ary = [];
console.log("Fatal Error Coming Soon");
while (y < 4294967295)
{
    ary.push(y);
    ary[y] = undefined;
    y += 1;
}
console(ary.length);

Bu hatayı üretir:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory.

Gördüğünüz gibi undefinedaslında yığın belleği kaplıyor.

Ancak, deleteary öğesini de (yalnızca ayarlamak yerine) yaparsanız undefined, kod yavaşça biter:

let x = 1;
let ary = [];
console.log("This will take a while, but it will eventually finish successfully.");
while (x < 4294967295)
{
    ary.push(x);
    ary[x] = undefined;
    delete ary[x];
    x += 1;
}
console.log(`Success, array-length: ${ary.length}.`);

Bunlar aşırı örnekler, ama deletekimsenin hiçbir yerde bahsetmediğini bir noktaya işaret ediyorlar .


1

Küçük bir diziniz varsa şunları kullanabilirsiniz filter:

myArray = ['a', 'b', 'c', 'd'];
myArray = myArray.filter(x => x !== 'b');

0

En kolay yol muhtemelen

var myArray = ['a', 'b', 'c', 'd'];
delete myArray[1]; // ['a', undefined, 'c', 'd']. Then use lodash compact method to remove false, null, 0, "", undefined and NaN
myArray = _.compact(myArray); ['a', 'c', 'd'];

Bu yardımcı olur umarım. Referans: https://lodash.com/docs#compact


1
Birisi bu merak üzerine compacttökezlese ... sadakatsize gerek yok. DeneyinmyArray.filter(function(n){return n;})
dat

0

Lodash'ı kullanmak isteyenler için şunları kullanabilirsiniz: myArray = _.without(myArray, itemToRemove)

Veya Angular2'de kullandığım gibi

import { without } from 'lodash';
...
myArray = without(myArray, itemToRemove);
...

0

delete : delete, nesne özelliğini siler, ancak diziyi yeniden endekslemez veya uzunluğunu güncellemez. Bu, tanımlanmamış gibi görünmesini sağlar:

splice : öğeyi aslında kaldırır, diziyi yeniden endeksler ve uzunluğunu değiştirir.

Öğeyi sondan sil

arrName.pop();

Öğeyi ilkinden sil

arrName.shift();

Ortadan sil

arrName.splice(starting index,number of element you wnt to delete);

Ex: arrName.splice(1,1);

Bir öğeyi sondan sil

arrName.splice(-1);

Dizi indeks numarasını kullanarak sil

 delete arrName[1];

0

Silmek istediğiniz öğe ortadaysa (dizininin 1 olduğu 'c' yi silmek istiyoruz), şunları kullanabilirsiniz:

var arr = ['a','b','c'];
var indexToDelete = 1;
var newArray = arr.slice(0,indexToDelete).combine(arr.slice(indexToDelete+1, arr.length))

0

IndexOfbir başvuru türünü de kabul eder. Aşağıdaki senaryoyu varsayalım:

var arr = [{item: 1}, {item: 2}, {item: 3}];
var found = find(2, 3); //pseudo code: will return [{item: 2}, {item:3}]
var l = found.length;

while(l--) {
   var index = arr.indexOf(found[l])
      arr.splice(index, 1);
   }
   
console.log(arr.length); //1

farklı:

var item2 = findUnique(2); //will return {item: 2}
var l = arr.length;
var found = false;
  while(!found && l--) {
  found = arr[l] === item2;
}

console.log(l, arr[l]);// l is index, arr[l] is the item you look for

-1
function deleteFromArray(array, indexToDelete){
  var remain = new Array();
  for(var i in array){
    if(array[i] == indexToDelete){
      continue;
    }
    remain.push(array[i]);
  }
  return remain;
}

myArray = ['a', 'b', 'c', 'd'];
deleteFromArray(myArray , 0);

// sonuç: myArray = ['b', 'c', 'd'];


@ChrisDennis neden? (sarcasm veya kötülük amaçlanmadı, bu samimi bir soru)
Chris Bier

Bu cevabın OP sorusunu ele almamasının yanı sıra
Chris Bier
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.