Servus,
eine Frage zu folgendem Problem:
ich hab' ein Array wie folgt:
gut = new Array();
gut[0] = new Array();
gut[0][0] = 'test';
gut[0][1] = 'test';
gut[1] = new Array();
gut[1][0] = 'test';
gut[1][1] = 'test';
gut[2] = new Array();
gut[2][0] = 'test';
gut[2][1] = 'test';
...
Wie kann ich aus dem Array ein Element in der _Mitte_ des Arrays löschen?
Beispiel: Element 1 soll gelöscht werden (auch mit gut[1][0] und gut[1][1]) --> das Ergebnis soll dann sein, dass alles bis zum 1-er Element, also gut[0], und alles danach, also ab gut[2] gut[3] ..., erhalten bleibt. Die Array.Länge soll sich um 1 verringern.
Folgendes hab' ich schon probiert aber da wird immer das letzte Element im Array verdoppelt ?!
for (var i=0; i<gut.length; i++){
// for (var i in gut){
if (i != x){
var t = Temp.length;
Temp[t] = new Array();
Temp[t][0] = gut[i][0];
Temp[t][1] = gut[i][1];
}
}
x ist dabei die Nummer des zu löschenden Elements, also im Beispiel oben x = 1.
Meine Variationen -- die aber auch nicht klappten:
1. statt des 1. for(...) das zweit mit for (var i in gut) ..
2. statt dem Ausdruck mit den drei Zeilen Temp[...] = ...
nur geschrieben: Temp[...] = gut[...]
3. statt var t geschrieben: Temp[Temp.length] = ...
Und nun bin ich mit meinem Javascript-Latein am Ende !
Vielleicht weiß ja jemand eine Lösung -- schon mal herzlichen Dank !
Michael R.
Ergebnis: Element 3 wird z. B. gelöscht dann wird das letzte Element (sagen wir wenn ich 4 Elemente insgesamt hatte) doppelt aufgeführt.
Thnx für Eure Hilfe und einen schönen Tag !
Michael