React项目中如何动态实现多id的&&条件判断筛选学生数据
解决方案
要实现动态判断学生id是否不在给定的id数组中,并筛选出符合条件的学生对象,你可以用以下几种方式处理:
1. 直接筛选目标学生数组
如果核心需求是获取所有id不在排除列表里的学生对象,使用Array.filter配合Array.includes是最简洁的方案:
// 动态变化的排除id数组 const excludedIds = ["2m3","2n3","3nn2","46ee7"]; // 筛选出符合条件的学生集合 const targetStudents = students.filter(student => !excludedIds.includes(student.id)); // 直接使用筛选后的数组 console.log(targetStudents);
2. 保留遍历日志逻辑
如果需要保留原有的遍历并打印日志的逻辑,把静态判断替换为动态判断即可:
const excludedIds = ["2m3","2n3","3nn2","46ee7"]; students.forEach(student => { if (!excludedIds.includes(student.id)) { console.log(student); } else { console.log('Not the student'); } });
性能优化(可选)
如果排除id数组的元素数量较多,推荐把数组转为Set——Set.has()的查询性能远高于Array.includes():
const excludedIdSet = new Set(["2m3","2n3","3nn2","46ee7"]); const targetStudents = students.filter(student => !excludedIdSet.has(student.id));
内容的提问来源于stack exchange,提问作者ashish.oraon
相关产品推荐
相关产品推荐

