【发布时间】:2021-11-27 04:38:43
【问题描述】:
我有数组arr1, arr2, arr3 和对象数组objarr
我想根据条件获取对象数组
即
通过 arr1 时,
对象数组objarr 应该只返回匹配的arr1 键
即
通过 arr2 时,
对象数组objarr 应该只返回匹配的arr2 键(如果wrk 被传递参数只表明这是真的)
即
通过arr3时,
对象数组objarr 应该只返回匹配的arr3 键
var arr1=["name", "place"]
var arr2=["details", "wrk"]
var arr3=["name"]
var objarr=[
{id:1, name: "ayan", place: "MY", details: "finance" , wrk: true},
{id:2, name: "mike", place: "AU", details: "teaching", wrk: false },
{id:3, name: "john", place: "DE", details: "service" , wrk: true}
]
function outputData(arr1){
var final=[];
var result = objarr.map(e=>{
if(arr1.includes(Object.keys(e)){
final.push(e)
}
})
return final
;}
Expected Output;
//for arr1 is passed
[
{name: "ayan", place: "MY"},
{name: "mike", place: "AU"},
{name: "john", place: "DE"}
]
//for arr2 is passed
[
{details: "finance", wrk:true},
{details: "service", wrk: true}
]
//for arr3 is passed
[
{name: "ayan"},
{name: "mike"},
{name: "john"}
]
【问题讨论】:
标签: javascript arrays loops object