NEWS

[gelöst] hilfe bei element aus json löschen



  • kann mir bitte jemand sagen (evtl @paul53 ), wie man den ganzen block aus diesem object löscht - der ganze block von mit text : WARNUNG LEBENSMITTEL1 soll gelöscht werden

    {
    		"text": "WARNUNG Lebensmittel1 ",
    		"backgroundColor": "black",
    		"borderColor": "ligthgreen",
    		"icon": "/vis.0/armin/img/temporarily_not_available.png",
    		"iconColor": "lightgreen",
    		"fontColor": "lightgreen"
    	},
    
    [
    	{
    		"text": "WARNUNG Lebensmittel ",
    		"backgroundColor": "black",
    		"borderColor": "ligthgreen",
    		"icon": "/vis.0/armin/img/temporarily_not_available.png",
    		"iconColor": "lightgreen",
    		"fontColor": "lightgreen"
    	},
    	{
    		"text": "WARNUNG Lebensmittel1 ",
    		"backgroundColor": "black",
    		"borderColor": "ligthgreen",
    		"icon": "/vis.0/armin/img/temporarily_not_available.png",
    		"iconColor": "lightgreen",
    		"fontColor": "lightgreen"
    	},
    	{
    		"text": "WARNUNG Lebensmittel2 ",
    		"backgroundColor": "black",
    		"borderColor": "ligthgreen",
    		"icon": "/vis.0/armin/img/temporarily_not_available.png",
    		"iconColor": "lightgreen",
    		"fontColor": "lightgreen"
    	}
    ]
    

    getestet funktioniert nicht

    
      for(var i=0;i<myObj.length;i++) {
     
     if(myObj[i].text=="WARNUNG Lebensmittel1") delete myObj[i];
    


  • @liv-in-sky
    Versuche es mal so:

    let arr = JSON.parse(json);
    for(let i = 0; i < arr.length; i++) {
       if(arr[i].text == 'WARNUNG Lebensmittel1 ') arr.splice(i, 1);
    }
    

    Achte darauf, dass am Ende von .text ein Leerzeichen ist.



  • @paul53

    oh man- das hatte ich schon so ähnlich - erstmal danke dafür - das funktioniert

    jetzt aber eine stufe weiter

    das nächste probleme : alle 3 text-keys haben den selben namen "WARNUNG Lebensmittel" - also ohne 1,2,3

    wenn die schleife jetzt läuft, bleibt immer ein eintrag stehen - ich nehme an, weil ich das object ändere - die anzahl, wie oft das drinsteht kann unterschiedlich sein

    gibt es da eine elegante lösung oder lasse ich das ganze einfach zweimal hintereinander laufen (so funktioniert es)



  • @liv-in-sky
    Versuche mal:

    for(let i = 0; i < arr.length; i++) {
       if(arr[i].text == 'WARNUNG Lebensmittel ') {
          arr.splice(i, 1);
          i--;
       }
    }
    


  • @paul53 tausend dank - das war es


Log in to reply
 

Suggested Topics

  • 3
  • 5
  • 16
  • 35
  • 3
  • 6
  • 9
  • 2

1.7k
Online

32.4k
Users

39.0k
Topics

528.7k
Posts