Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按另一个对象过滤对象数组';s值_Javascript_Arrays_Filter - Fatal编程技术网

Javascript 按另一个对象过滤对象数组';s值

Javascript 按另一个对象过滤对象数组';s值,javascript,arrays,filter,Javascript,Arrays,Filter,我想根据另一个对象中的值过滤对象数组。我正在尝试在函数内部map()数组和filter(),以便能够获得一个只包含所需(活动)字段的新数组 我正在尝试获取对象.entries()上的筛选器,我尝试比较键并检查活动筛选器的值是否为true,但没有正确获取 const记录=[ { id:1, 名称:“第一”, 日期:“05/02” }, { id:2, 姓名:“第二”, 日期:“06/02” }, { id:3, 名称:“第三”, 日期:“07/02” }, { id:4, 名称:“第四”, 日期

我想根据另一个对象中的值过滤对象数组。我正在尝试在函数内部
map()
数组和
filter()
,以便能够获得一个只包含所需(活动)字段的新数组

我正在尝试获取
对象.entries()
上的筛选器,我尝试比较键并检查活动筛选器的值是否为
true
,但没有正确获取

const记录=[
{
id:1,
名称:“第一”,
日期:“05/02”
},
{
id:2,
姓名:“第二”,
日期:“06/02”
},
{
id:3,
名称:“第三”,
日期:“07/02”
},
{
id:4,
名称:“第四”,
日期:“08/02”
}
];
常量活动={
id:是的,
姓名:false,
日期:对
};
const result=records.map((记录)=>{
返回对象.entries(记录).filter((条目)=>{
Object.entries(active).forEach((activeEntry)=>{
返回activeEntry[1]&&activeEntry[0]==entry[0];
});
});
});

控制台日志(结果)您可以对对象的条目进行筛选,并将其转换回具有的对象

const records=[{id:1,姓名:“第一”,日期:“05/02”},{id:2,姓名:“第二”,日期:“06/02”},{id:3,姓名:“第三”,日期:“07/02”},{id:4,姓名:“第四”,日期:“08/02”};
常量活动={
id:是的,
姓名:false,
日期:对
};
const res=records.map(x=>
Object.fromEntries(
Object.entries(x.filter)([k])=>active[k]);

控制台日志(res)
只需按现有键筛选键,然后使用
对象。fromEntries
返回到对象

const记录=[
{
id:1,
名称:“第一”,
日期:“05/02”
},
{
id:2,
姓名:“第二”,
日期:“06/02”
},
{
id:3,
名称:“第三”,
日期:“07/02”
},
{
id:4,
名称:“第四”,
日期:“08/02”
}
];
常量活动={
id:是的,
姓名:false,
日期:对
};
const result=records.map((记录)=>{
返回Object.fromEntries(Object.entries(record.filter)([key,value])=>active[key]);
});
控制台日志(结果)1
.forEach()
不返回任何内容,回调中的
返回值几乎没有意义。2.在
.filter()
回调中没有
return