<!DOCTYPE html>
<html ng-app="my_app">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
// 所有学生
var allStudent=[
{no:'s001',name:'学生1',address:'地址1'},
{no:'s0011',name:'学生11',address:'地址11'},
{no:'s002',name:'学生2',address:'地址2'},
{no:'s003',name:'学生3',address:'地址3'},
{no:'s004',name:'学生4',address:'地址4'},
{no:'s005',name:'学生5',address:'地址5'},
{no:'s006',name:'学生6',address:'地址6'},
{no:'s007',name:'学生7',address:'地址7'},
{no:'s008',name:'学生8',address:'地址8'},
];
// 选中学生
var selectedStudent=[
{no:'s001',name:'学生1'},
{no:'s002',name:'学生2'},
{no:'s003',name:'学生3'},
];
// 获取学号为s001的学生,获取不到未undefined
var s010= allStudent.find(a=>a.no=='s010');
var s001= allStudent.find(a=>a.no=='s001');
// 获取学号包含s001的学生
var fiio= allStudent.filter(a=>a.no.indexOf('s001')!=-1);
var fiid=fi=allStudent.filter(a=>a.no.includes('s001'));
// 获取选中学生
var ss1=allStudent.filter(a=>selectedStudent.map(b=>b.no).indexOf(a.no)!=-1);
var ss2=allStudent.filter(a=>selectedStudent.map(b=>b.no).includes(a.no));
// 获取没有选中的学生
var us=allStudent.filter(a=>selectedStudent.map(b=>b.no).indexOf(a.no)==-1);
</script>
</head>
</html>
js es6 filter
于 2021-10-27 20:12:37 首次发布
这篇博客展示了如何使用JavaScript的find和filter方法从数组中查找和筛选学生信息。示例中,`allStudent`数组包含了所有学生对象,而`selectedStudent`数组则存储了已选中的学生。通过find方法,可以精确查找特定学号的学生,如查找学号为's001'的学生。使用filter方法,可以筛选出包含特定字符串(如's001')的学生,或者找出已选中或未选中的学生列表。
1153

被折叠的 条评论
为什么被折叠?



