javascript中按值过滤对象数组

javascript中按值过滤对象数组,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我试图根据下面给出的数组值过滤对象。我知道如何通过键过滤对象,但在这种情况下,我需要通过值过滤对象 这是我的代码: let _ = [{ "form_id": "659d796d-aa78-4e74-af68-5ef037bb215b", "form_name": "Investigation Forms", "form_type": null,

我试图根据下面给出的数组值过滤对象。我知道如何通过键过滤对象,但在这种情况下,我需要通过值过滤对象

这是我的代码:

let _ = [{
        "form_id": "659d796d-aa78-4e74-af68-5ef037bb215b",
        "form_name": "Investigation Forms",
        "form_type": null,
        "created_at": "",
        "updated_at": ""
    },
    {
        "form_id": "9991f556-fc7f-4400-a491-062b12a0bb03",
        "form_name": "Other Investigation Forms",
        "form_type": {
            "form_type_name": "Assessment",
            "form_type_id": "5f4419c1-9351-4338-b894-84a000328cc4"
        },
        "created_at": "",
        "updated_at": ""
    },
    {
        "form_id": "9991f556-fc7f-4400-a491-062b12a0bb03",
        "form_name": "Other/General Investigation Forms",
        "form_type": {
            "form_type_name": "Report",
            "form_type_id": "594ba131-b110-4ec5-855a-9de8440fbc7b"
        },
        "created_at": "",
        "updated_at": ""
    }
]

//-------------------------------------------------------------------------------------------------

const values = [0, "5f4419c1-9351-4338-b894-84a000328cc4", "594ba131-b110-4ec5-855a-9de8440fbc7b"]

plz ignore my below code it is work attempt . 

const output = _.map(item =>
    values.reduce((val, key) => ({
        ...val,
        [key]: item[key]
    }), {})
);
console.log(output);



表单类型有表单类型id,这是我需要筛选的值。

如果我正确理解了您的问题,那么您需要

\uu.filter((项)=>值。包括(项.表单类型?.表单类型id));
或者如果可选链接不可用(正如Obed Marquez Parlapiano正确指出的那样)

\uu.filter((item)=>values.includes(item.form\u type&&item.form\u type.form\u id));

请参见要基于
表单类型的值进行过滤的测试。表单类型id
?@code是的,兄弟,我需要that@code是的,我需要这样做。你想用什么作为过滤逻辑?如果
表单类型\u id
存在,或者它有一个特定的值?这是否回答了您的问题?请注意,您可能无法访问可选链接
?。
。在这种情况下,只需使用
item.form\u type&&item.form\u type.form\u type\u id
not working.brohelpppp仍然not workingArray.contains实际上不推荐您在浏览器中可能不可用。我已经更新了答案,包括了Obed的评论,我在下面添加了代码
my expected output :
const values = ["5f4419c1-9351-4338-b894-84a000328cc4"]

output = [{
 "form_id": "9991f556-fc7f-4400-a491-062b12a0bb03",
        "form_name": "Other Investigation Forms",
        "form_type": {
            "form_type_name": "Assessment",
            "form_type_id": "5f4419c1-9351-4338-b894-84a000328cc4"
        },
        "created_at": "",
        "updated_at": ""
}]