Array-Modifikation
Michael R.
- javascript
0 Michael R.0 Joachim
Hallo und guten Morgen !
ich hab' ein Array wie folgt:
A = new Array();
A[0] = new Array();
A[0][0] = 'test';
A[0][1] = 'test';
A[1] = new Array();
A[1][0] = 'test';
A[1][1] = 'test';
A[2] = new Array();
A[2][0] = 'test';
A[2][1] = 'test';
...
Wie kann ich aus dem Array
1. das erste Element komplett löschen ?
Ich hab's mit A.shift(); versucht aber da wird mir nur A[0] gelöscht und die Unterpunkte (A[0][0] und A[0][1]) rücken einfach nach vorne und A[1] und A[2] ff werden gänzlich gelöscht.
2. ein Element in der Mitte des Arrays ?
Hab's folgender Maßen probiert:
var x = zu löschende Nummer des Array-Elements
if (x > 0){
for (var i=0; i<x; i++){
Temp[i] = new Array();
Temp[i][0] = A[i][0];
Temp[i][1] = A[i][1];
}
for (var i=Temp.length; i<(A.length-1); i++){
Temp[i] = new Array();
Temp[i][0] = A[i+1][0];
Temp[i][1] = A[i+1][1];
}
for (var i=0; i<Temp.length; i++){
A[i] = new Array();
A[i][0] = Temp[i][0];
A[i][1] = Temp[i][1];
}
}
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
Ich bin's nochmal !
Hallo und guten Morgen !
ich hab' ein Array wie folgt:
A = new Array();
A[0] = new Array();
A[0][0] = 'test';
A[0][1] = 'test';
A[1] = new Array();
A[1][0] = 'test';
A[1][1] = 'test';
A[2] = new Array();
A[2][0] = 'test';
A[2][1] = 'test';
...
Wie kann ich aus dem Array
- das erste Element komplett löschen ?
Ich hab's mit A.shift(); versucht aber da wird mir nur A[0] gelöscht und die Unterpunkte (A[0][0] und A[0][1]) rücken einfach nach vorne und A[1] und A[2] ff werden gänzlich gelöscht.
Hierzu ist mir selber grad was eingefallen:
wenn ich mache
if (x == 0){
A = A.reverse();
A.length = (A.length-1);
A = A.reverse();
}
dann scheint es richtig zu funktionieren.
Aber bitte, Vorschläge nehme ich immer noch gerne (vor allem auch für Frag 2) entgegen !
- ein Element in der Mitte des Arrays ?
...
Thnx für Eure Hilfe und einen schönen Tag !
Michael
hi,
- ein Element in der Mitte des Arrays ?
wenn IE5 nicht so blöd waere und splice() koennte waer's suuupersimpel, so ist's nur noch ganz simpel, siehe Anhang. Man uebergebe "killEl" Schluessel und betreffenden Array.
hth + Gruss Joachim
<html>
<head>
<script language="javascript1.2">
var myArr = new Array("nana", "blah", "blub");
// org Ausgabe
document.write(myArr.join() + "<br>");
function killEl(el,arr)
{
var temp = new Array();
for(var i in arr)
{
if(i != el) temp[temp.length] = arr[i];
}
return temp;
}
myArr = killEl(1,myArr);
// mod Ausgabe
document.write(myArr.join() + "<br>");
</script>
</head>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<div id="ebene0"></div>
</body>
</html>