Javascript 多维数组的滤波方法

Javascript 多维数组的滤波方法,javascript,arrays,multidimensional-array,ecmascript-6,Javascript,Arrays,Multidimensional Array,Ecmascript 6,我有一个id,我想用它来过滤多维数组。我的代码是: service.fakedata.map(f=>{ f.results.map(r=>{ r = r.filter(m=> m.rId !== id) }) }) 我的数组是: "services": [ { "id": "1839f72e-fa73-47de-b119-49fb971a5730", "name":

我有一个
id
,我想用它来过滤多维数组。我的代码是:

 service.fakedata.map(f=>{
          f.results.map(r=>{
             r = r.filter(m=> m.rId !== id)
          })
 })
我的数组是:

"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"
                        ]
                    }
                ]
            }
        ]
    }
]
在这种情况下,过滤器正在工作(当我使用console.log检查时),但它不会改变
fakedata
array

我的代码怎么了

来自


map()方法创建一个新数组,其结果是对调用数组中的每个元素调用提供的函数。

根据@H77的建议,我更改了代码,现在我的代码是这样的,一切正常

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