unset?

PsychoCat

Mitglied
Hallo mal wieder :)
Kann mir jemand die Frage beantworten, wie ich einen Array-Schlüssel löschen kann? In php geht das mit unset($array[schlüssel]), aber das hab ich bei js schon probiert und scheint nicht zu funktionieren :(
 
Bei assoziativen Arrays(ich nehm mal an, darum handelt es sich)...wüsst ich nicht, wie man den Schlüssel wegbekommt...du könntest ihm höchstens NULL als Wert zuweisen....vorhanden ist er dann allerdings immer noch:(
 
Wenn das Array nicht zu groß ist und dir wichtig ist, dass das Element
auch geloescht wird, kannst du auch eine Schleife dazu benutzen:
Code:
function array_delete_key(a_aA, a_sKey)
{
    aRet = new Array();

    for (sK in a_aA) {
        if (sK != a_sKey) {
            aRet[sK] = a_aA[sK];
        }
    }

    return aRet;
}
 
Respekt, darauf wär ich im Leben nicht gekommen! Dabei erscheint es mir sehr logisch :)
Allerdings hab ich mein Problem jetzt anders gelöst bzw. so ähnlich wie fatalus es vorgeschlagen hat, indem ich den Schlüssel einfach auf false gesetzt habe. Für meine letztendliche Funktion reicht das. Vielen Dank für eure Mühe!
 
Code:
delete arrayname['index'];
...ist doch einfacher oder? Bei "echten" Arrays, also mit Nummern als Schlüssel musst du nur darauf achten, dass die length-Eigenschaft dadurch "verfälscht" wird und du nurnoch mit for(...in...) einfach durchlaufen kannst.

Gruss
Jan
 
Kann mir auch einer von euch erklären, wie man n Objekt löscht? Ich habe n DIV generiert und will das wieder killen - aber sowas wie delete blabla klappt net ... hab auch schon blabla.destroy versucht - keine Reaktion ....

danke euch Leute!
 
Das delete dürfte sich nicht auf Seitenelemente beziehen.....auch wenn diese ebenfalls "Objekte" sind...

Es gibt die DOM-Methode removeChild().... mit der kann man ein Kindelement aus einem Knoten löschen.

Diese Methode wende beim Elternknoten des <div> an:
Code:
function removeNode(objNode)
{
objNode.parentNode.removeChild(objNode);
}
....und das <div> ist weg:)

übergeben tust du der Funktion dabei das <div> als Objekt, z.B.per:
removeNode(document.getElementById('idVomDiv'))
 

Neue Beiträge

Zurück