JavaScript对象数组返回方法求助:学生详情输出异常
问题分析
你的代码存在两个核心问题:
studentDetails函数仅返回了学生的姓名,没有按照题目要求返回包含姓名和学号的数组。- 后续处理逻辑错误地将返回的字符串(姓名)当作数组遍历,导致逐个输出姓名的每个字符,而非输出姓名和学号两个元素。
修正后的代码
function studentDetails(i) { var classDetails = { classTeacher: 'Anjani', students: [{name: "Anjali", roll: "1"}, {name: "Bhavya", roll: "2"}, {name: "Neha", roll: "3"}] }; // 返回包含姓名和学号的数组 return [classDetails.students[i].name, classDetails.students[i].roll]; } process.stdin.resume(); process.stdin.setEncoding("utf-8"); let remainder = ''; process.stdin.on('data', function (chunk) { let t = parseInt(chunk); let ans = studentDetails(t); // 遍历返回的数组,每行输出一个元素 for(var i=0; i<ans.length; i++) { process.stdout.write(ans[i]+'\n'); } process.exit(); });
验证说明
当输入为1时,函数会返回["Bhavya", "2"],遍历数组后会依次输出Bhavya和2,与示例输出一致。
内容的提问来源于stack exchange,提问作者Vicky Kumar
相关产品推荐
相关产品推荐

