Array gezielt löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array gezielt löschen

    Hallo,

    Bin leider ein Anfänger was Javascript angeht. Ich versuche mich gerade an arrays und würde gerne wissen, wie ich einen Eintrag gezielt löschen kann. Mit push/pop komm ich nicht weiter, weil hier immer der letzte Eintrag verwendet wird.

    Beispiel

    var arr = new Array();

    arr[3847] = 3847;
    arr[2532] = 2532;
    arr[2753] = 2753;

    jetzt möchte ich z.b. eintrag 2532 löschen. Reicht es hier, den Eintrag einfach auf auf arr[2532] = ""; zu setzen, da ich ja Ressourcen nicht unnötig verschwenden will. Oder kann ich sowas wie arr[2532].delete / arr[2532].remove machen!?!?

    Danke
    90% Prozent des Problems sitzen vorm PC

  • #2
    Re: Array gezielt löschen

    ich würd's mit dem delete-operator versuchen.

    http://de.selfhtml.org/javascript/sp...ren.htm#delete
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Okay, also mit deinem Vorschlag erhalte ich ein Fenster das besagt: undefined. Hier ist mein code, hilft vielleicht etwas mehr:


      Code:
      	var offers = new Array();
      	
      	function showOffers(){
      		alert ("offers hat "+offers.length+" Einträge");
      	}
      		
      	function setChosenOffers(offerObject, type){
      		offerID = offerObject.name;
      		alert(offerID+" "+type+": "+offerObject.checked);
      		if (offerObject.checked == true) {
      			offers[offerID]= offerID+", "+type;
      			window.alert(offerID+" wurde eingefügt");
      		} else {
      			delete offers[offerID];
      			alert(typeof offers[offerID]);
      		}
      	}

      Ein weiteres Problem ist:

      Wenn ich Offer 1012 anklicke, dann setzt er offers[1012] = 1012 und sagt mir bei showOffers, offers hätte 1013 Einträge. Das ist bei PHP z.B. nicht so. Da wird gesagt, es gibt nur einen Eintrag.

      Die Funktion setChosenOffers wird aufgerufen, sobald eine Checkbox aktiviert oder deaktiviert wird, also Häkchen oder nicht. übergeben wird in dem input-tag onClick="java script:setChosenOffers(this, 1)"
      90% Prozent des Problems sitzen vorm PC

      Kommentar


      • #4
        Original geschrieben von sonnenfänger
        Okay, also mit deinem Vorschlag erhalte ich ein Fenster das besagt: undefined.
        OK, also funktioniert es wie gewünscht ...?


        und zum rest: k.A., wo von du da redest.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Jetzt wo du es sagst .. ja :-) Hat mich nur etwas verwirrt weil ich dachte es wäre ein Fehler .. Newbies wieder :-D
          90% Prozent des Problems sitzen vorm PC

          Kommentar


          • #6
            Wenn ich Offer 1012 anklicke, dann setzt er offers[1012] = 1012 und sagt mir bei showOffers, offers hätte 1013 Einträge. Das ist bei PHP z.B. nicht so. Da wird gesagt, es gibt nur einen Eintrag.
            Ev weil es nicht sauber ist bei nummerisch indizierten Arrays Elemente auszulassen. Das kann aber auch bei PHP Probs geben.
            Wenn du den Array dumpen kannst (weiss nicht ob es eine Fkt dafür in JS gibt), dann siehst du imho dass das Array komplett bis zu deinem Index gefüllt wurde ev mit NULL.
            Das ganze ist aber mehr eine Vermutung als Wissen...

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X