02. marts 2005 - 18:28Der er
4 kommentarer og 1 løsning
array løkke og slet samtidigt
Jeg har et array, som jeg vil løbe i gennem og kontrollere om nogle værdier i arrayet stemmer overens med andre værdier.
Undervejs i løkken vil jeg slette de felter i array'et der stemmer overens med min kontrol.
for (i=0;i<mitarray.length;i++) { if (mitarray[i] == value) //slet feltet i fra array'et. } }
Jeg har kikket lidt på splice og slice metoderne, men hvis man sletter medens man løkker, så går der kludder i det.. kan jeg i hvert fald se. Hvis jeg blot null'er mitarray[i] så fjerner jeg værdien, men ikek selve feltet.
Jeg kan huske at i Delphi skulle man lave en omvendt løkke, som starter i bunden af et array og bevæger sig opad, for at kunne slette undervejs, uden at "ødelægge" løkken. Noget ala:
Hvis du vil fjerne 'feltet' helt, er du nødt til at oprette et nyt array. JS indeholder ingen metoder til at slette et array-element helt med ... så skal du i hvert fald ud i at splitte array'et og samle det igen.
En baglæns for-løkke kan du skrive sådan: for (i=ARRAY.length-1; i>=0; i--) { //Gør noget her }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.