如何根据学生姓名返回对应负责教师姓名(解决索引输出问题)
解决根据学生姓名获取对应教师的问题
问题说明
现有代码已经能通过findIndex定位到学生所在班级的索引,但需要把索引映射到teachers数组中对应的教师姓名,替代当前直接返回索引的输出结果。
修改方案
只需要在获取到班级索引后,用该索引从teachers数组中取出对应教师姓名即可,同时可以补充学生不存在的处理逻辑,避免输出undefined。
修改后的完整代码
let teachers = ["Arrington", "Kincart", "Alberts", "Pickett"] let rooms = [ ["Andy", "Rodolfo", "Lynn", "Talia"], ["Al", "Ross", "Jorge", "Dante"], ["Nick", "Kim", "Jasmine", "Dorothy"], ["Adam", "Grayson", "Aliyah", "Alexa"] ] let whichTeacher = (student) => { // 获取学生所在班级的索引 const classIndex = rooms.findIndex(row => row.indexOf(student) !== -1); // 找到索引则返回对应教师,否则返回提示 return classIndex !== -1 ? teachers[classIndex] : "未找到该学生对应的班级"; } console.log(`The teacher who has Jorge is ${whichTeacher("Jorge")}.`) console.log(`The teacher who has Alexa is ${whichTeacher("Alexa")}.`)
运行输出结果
The teacher who has Jorge is Kincart. The teacher who has Alexa is Pickett.
关键改动点
- 将获取到的班级索引存入变量
classIndex,清晰区分索引获取与教师姓名映射的逻辑 - 增加三元判断处理学生不存在的边界场景,提升代码健壮性
- 通过
teachers[classIndex]完成从班级索引到教师姓名的转换
内容的提问来源于stack exchange,提问作者user19444313
相关产品推荐
相关产品推荐

