Array Element löschen und andere nachschieben.
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
altes array
array
auftreten
beispiel
beweisen
code
dank
element
fehler
folgendes array
folgendes problem
funktion
greif
idee
jemand
problem
referenz
tatsache
url
wetten
-
Hallo
Folgendes Problem.
Ich habe einen Array mit zum Beispielvar Array = ['A','B','C','D','E'];
Jetzt lösche ich zum Beispiel das C mit der Funktion
Der Array hat jetzt zwar kein C mehr, aber er hat nur noch die Indexe 0, 1, 3, 4, 5. Der 2. wurde durch splice gelöscht. Jetzt würde ich gerne die anderen nachschieben:Arr.splice(2, 1);
0 => A 1 => B 2 => D 3 => E
Hat jemand eine Idee? Danke und Gruss.
Beitrag zuletzt geändert: 14.10.2013 12:27:55 von c143 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
tchab schrieb:
Nein, du hast dein "altes" Array und ein temporäres neues. Wenn das neue fertig ist ersetzt du einfach das Alte …
Ist eine Lösung, aber einfach irgendwie hingemurkst. Ich warte noch auf andere Antworten, versuch sonst am Abend selbst noch irgendwas hinzukriegen und sonst greif ich auf deine zurück.
Danke -
Hi,
ehrlich gesagt verstehe ich nicht, welches Problem du hast, denn das was du beschreibst ist zumindest in Javascript nicht der Fall. Ich würde deswegen gerne sehen, wie dein Code dazu aussieht, denn ich würde fast drauf wetten, dass dort der Fehler ist.
Weil so wie du das beschreibst ist es nicht so wie es ist, Beispiel gefällig:// zuerstmal 2 Hefer-variablen... var out = '', i; // erzeuge folgendes Array: arr = [0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd', 4 => 'e', 5 => 'f'] var arr = 'a0b0c0d0e0f'.split(0); // entnehme ein Element var spl = arr.splice(2,1); // spl enthält jetzt dieses Array: [0 => c] for(i in spl){out += 'spl[' + i + '] => "' + spl[i] + '"\n'} alert(out); // und arr sieht so aus: [0 => a, 1 => b, 2 => d, 3 => e, 4 => f] // das kann man auch so beweisen: out = ''; for(i in arr){out += 'arr[' + i + '] => "' + arr[i] + '"\n'} alert(out);
Ich verstehe also nicht, welches Problem hierbei auftreten soll!
Mit freundlichen Grüßen -
nemoinho schrieb:
Hi,
ehrlich gesagt verstehe ich nicht, welches Problem du hast, denn das was du beschreibst ist zumindest in Javascript nicht der Fall. Ich würde deswegen gerne sehen, wie dein Code dazu aussieht, denn ich würde fast drauf wetten, dass dort der Fehler ist.
Weil so wie du das beschreibst ist es nicht so wie es ist, Beispiel gefällig:// zuerstmal 2 Hefer-variablen... var out = '', i; // erzeuge folgendes Array: arr = [0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd', 4 => 'e', 5 => 'f'] var arr = 'a0b0c0d0e0f'.split(0); // entnehme ein Element var spl = arr.splice(2,1); // spl enthält jetzt dieses Array: [0 => c] for(i in spl){out += 'spl[' + i + '] => "' + spl[i] + '"\n'} alert(out); // und arr sieht so aus: [0 => a, 1 => b, 2 => d, 3 => e, 4 => f] // das kann man auch so beweisen: out = ''; for(i in arr){out += 'arr[' + i + '] => "' + arr[i] + '"\n'} alert(out);
Ich verstehe also nicht, welches Problem hierbei auftreten soll!
Mit freundlichen Grüßen
Okey danke, Fehler meinerseits. Dann liegt der Fehler in meinem Script wohl anders wo, aber zumindest was ähnliches. Aber danke für das Script um sicher zu gehen. -
c143 schrieb:... Hat jemand eine Idee? ...
yep!
tchab schrieb:
1.: warum? 2.: warum? 3.: ????
1. Wie wäre es damit, einfach ein neues Array zu befüllen und damit das alte zu ersetzen? ...
2. Schreib halt eine Funktion dafür, die dein altes Array nimmt und das neue zurück gibt. ;) Dann musst du immer nur die Funktion aufrufen.
3. Nein, du hast dein "altes" Array und ein temporäres neues. Wenn das neue fertig ist ersetzt du einfach das Alte ?
tchab, du schaffst es immer, einem keinen rat zu geben und dafür (in diesem fall 15) gülden zu kassieren.
nemoinho schrieb:
genau da hast den fehler:
... for(i in spl){out += 'spl[' + i + '] => "' + spl + '"\n'}
Timestamp: 10/15/2013 11:20:59 PM
Error: SyntaxError: unterminated string literal
Source File: ...
Line: xx, Column: yy
Source Code:
for(i in spl){out += 'spl[' + i + '] => "' + spl + '"
und was du brachst @c143 ist eig. so einfach: click (mit source) -
@czibere
Davon mal abgesehen, dass mir deine Lösung besser gefällt,
habe ich keinen Fehler bei nemoinho's Skript.
Weder lokal noch bei jsfiddle.net oder codepen.io
-
kgreen schrieb:
die zeile ist eindeutig zitiert, ohne änderung durch mich, kopiert aus 'FF/tools/Web Developer/Error Console'.
@czibere
Davon mal abgesehen, dass mir deine Lösung besser gefällt,
habe ich keinen Fehler bei nemoinho's Skript.
Weder lokal noch bei jsfiddle.net oder codepen.io
jsfiddle.net ist für mich kein begriff/referenz und daher kann ich nicht sagen, was dort abgeht (mal abgesehen von der tatsache, dass 'js' selten mit hosts zu tun hat :(
ich wollte dabei nur @c143 helfen und der rest ist mir ...
und ich bin da auch einverstanden, dass man uns (czibere/kgreen) 5 gulden abzieht,
weil das [teils] off topic ist ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage