2017-07-12 4 views
-2

Ich habe eine id und ich ein multidimensionales Array mit diesen zu filtern. mein Code wie folgt aus:Filtermethode auf mehrdimensionalen Array in Javascript

service.fakedata.map(f=>{ 
      f.results.map(r=>{ 
      r = r.filter(m=> m.rId !== id) 
      }) 
}) 

und meine Array ist:

"services": [ 
    { 
     "id": "1839f72e-fa73-47de-b119-49fb971a5730", 
     "name": "In I/O Route", 
     "url": "http://wwww.in.io/[param1]/[param2]", 
     "inputParams": [ 
      { 
       "id": "e74a6229-4c08-43a1-961f-abeb887fa90e", 
       "name": "in1", 
       "datatype": "string" 
      }, 
      { 
       "id": "e74a6229-4c08-43a1-961f-abeb887fa90o", 
       "name": "in2", 
       "datatype": "string" 
      } 
     ], 
     "isArrayResult": false, 
     "results": [ 
      { 
       "id": "ef7c98db-9f12-45a8-b3fb-7d09a82abe3d", 
       "name": "out1", 
       "datatype": "string", 
       "fakedatatype": [ 
        "address", 
        "city" 
       ] 
      }, 
      { 
       "id": "9b178ded-af27-43df-920f-daab5ad439b9", 
       "name": "out2", 
       "datatype": "string", 
       "fakedatatype": [ 
        "internet", 
        "url" 
       ] 
      } 
     ], 
     "routeParameters": [ 
      "param1", 
      "param2" 
     ], 
     "fakedata": [ 
      { 
       "id": "b0376694-9612-43d2-93ed-c74264df962e", 
       "url": "http://wwww.in.io/wood/good", 
       "params": [ 
        { 
         "key": "param1", 
         "value": "wood" 
        }, 
        { 
         "key": "param2", 
         "value": "good" 
        } 
       ], 
       "inputParams": [ 
        { 
         "iId":"e74a6229-4c08-43a1-961f-abeb887fa90e", 
         "key": "in1", 
         "value": "m" 
        }, 
        { 
         "iId":"e74a6229-4c08-43a1-961f-abeb887fa90o", 
         "key": "in2", 
         "value": "z" 
        } 
       ], 
       "results": [ 
        { 
         "rId": "ef7c98db-9f12-45a8-b3fb-7d09a82abe3d", 
         "key": "out1", 
         "value": "result1", 
         "fakedatatype": [ 
          "address", 
          "city" 
         ] 
        }, 
        { 
         "rId": "9b178ded-af27-43df-920f-daab5ad439b9", 
         "key": "out2", 
         "value": "result2", 
         "fakedatatype": [ 
          "internet", 
          "url" 
         ] 
        } 
       ] 
      } 
     ] 
    } 
] 

in diesem Fall Filter funktioniert (wenn ich mit console.log überprüfen), aber es ändert sich nicht fakedata Array? Was war falsch an meinem Code?

Antwort

0

Basis auf @ H77 Vorschlag ich den Code ändern und jetzt ist mein Code wie folgt aussehen und alles gut funktionieren

Verwandte Themen