关于oops返回方法的嵌套对象数组Javascript

5f0d552i  于 2022-12-21  发布在  Java
关注(0)|答案(2)|浏览(141)

给你一个对象,它有一个特定班级的详细信息。完成这个函数,使它以数组的形式返回第i个索引处的学生的详细信息。
输入格式:给定应打印其详细信息的学生的索引(i)。
输出格式:包含学生姓名和卷号的数组。
样品输入:
样本输出

Bhavya
2

我的输出有点奇怪,有人能帮我吗?怎么解决?

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;
        
      }
    
    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();
    });
hc2pp10m

hc2pp10m1#

studentDetails()需要返回整个对象,而不仅仅是名称。
那么就不需要循环了,只需要打印它的nameroll

function studentDetails(i) {
  var classDetails = {
    classTeacher: 'Anjani',
    students: [{
      name: "Anjali",
      roll: "1"
    }, {
      name: "Bhavya",
      roll: "2"
    }, {
      name: "Neha",
      roll: "3"
    }]
  };

  return classDetails.students[i];

}

process.stdin.resume();
process.stdin.setEncoding("utf-8");

process.stdin.on('data', function(chunk) {
  let t = parseInt(chunk);
  let ans = studentDetails(t);
  process.stdout.write(ans.name + '\n');
  process.stdout.write(ans.roll + '\n');
  process.exit();
});
swvgeqrz

swvgeqrz2#

var arr = []
arr.push(classDetails.students[i].name);
arr.push(classDetails.students[i].roll);
return arr;

相关问题