Javascript 获得;“未定义”;将对象添加到新字符串时

Javascript 获得;“未定义”;将对象添加到新字符串时,javascript,arrays,object,Javascript,Arrays,Object,我有一个对象数组(学生姓名、成绩等),我想在我创建的新空数组中添加任何名为“Jody”(例如)的对象。 然而,当我试图只打印新对象数组的名称时,我得到了未定义的。 注意:我不能使用let、const等 你知道我遗漏了什么吗 var student; var newStudents = []; var students = [{ name: 'Odelia', track: 'Accounting', achievements: '26', points: '226

我有一个对象数组(学生姓名、成绩等),我想在我创建的新空数组中添加任何名为“Jody”(例如)的对象。 然而,当我试图只打印新对象数组的名称时,我得到了未定义的
。 注意:我不能使用let、const等

你知道我遗漏了什么吗

var student;
var newStudents = [];
var students = [{
    name: 'Odelia',
    track: 'Accounting',
    achievements: '26',
    points: '2260'
}, {
    name: 'Jody',
    track: 'Web Design',
    achievements: '12',
    points: '890'
}, {
    name: 'Yann',
    track: 'Javascript',
    achievements: '10',
    points: '2266'
}, {
    name: 'Max',
    track: 'Marketing',
    achievements: '13',
    points: '1010'
}, {
    name: 'Jody',
    track: 'iOS',
    achievements: '9',
    points: '1002'
}, ]

for (var i = 0; i < students.length; i++) {
    student = students[i];
    if (student.name === 'Jody') {
        newStudents.push(student);
    }
}

console.log(newStudent.name);

应该是
newStudent
而不是
newStudent

    console.log(newStudents[0].name);

另外,
newStudent
是数组。

应该是
newStudent
而不是
newStudent

    console.log(newStudents[0].name);

另外,
newStudents
是数组。

您试图在循环之外打印名称。再核对一遍

应该是这样的:

for (var i = 0; i < students.length; i++) {
    student = students[i];
    console.log(newStudent.name);
    if (student.name === 'Jody') {
        newStudents.push(student);
    }
}
for(var i=0;i
您正在尝试打印循环外部的名称。再核对一遍

应该是这样的:

for (var i = 0; i < students.length; i++) {
    student = students[i];
    console.log(newStudent.name);
    if (student.name === 'Jody') {
        newStudents.push(student);
    }
}
for(var i=0;i
试试这个,它对我有用

var newStudents = [];
var student;
        var students = [
          {name:'Odelia',
           track:'Accounting',
           achievements:'26',
           points: '2260'
          },
          {name:'Jody',
           track:'Web Design',
           achievements:'12',
           points: '890'
          },
          {name:'Yann',
           track:'Javascript',
           achievements:'10',
           points: '2266'
          },
          {name:'Max',
           track:'Marketing',
           achievements:'13',
           points: '1010'
          },
          {name:'Jody',
           track:'iOS',
           achievements:'9',
           points: '1002'
          },
        ]
          for(var i=0;i<students.length;i++){
          student = students[i];
          if(student.name === 'Jody'){
            newStudents.push(student);
          }
        }
    console.log(newStudents[0].name);
var newStudents=[];
var学生;
var学生=[
{名称:'Odelia',
轨道:'会计',
成绩:"26",,
分数:'2260'
},
{姓名:'Jody',
轨道:'网页设计',
成绩:"12",,
分数:“890”
},
{姓名:'Yann',
跟踪:'Javascript',
成绩:"10",,
分数:'2266'
},
{名称:'Max',
轨道:'营销',
成绩:"13",,
分数:“1010”
},
{姓名:'Jody',
轨道:'iOS',
成绩:"9",,
分数:“1002”
},
]

对于(var i=0;i试试这个,它对我有用

var newStudents = [];
var student;
        var students = [
          {name:'Odelia',
           track:'Accounting',
           achievements:'26',
           points: '2260'
          },
          {name:'Jody',
           track:'Web Design',
           achievements:'12',
           points: '890'
          },
          {name:'Yann',
           track:'Javascript',
           achievements:'10',
           points: '2266'
          },
          {name:'Max',
           track:'Marketing',
           achievements:'13',
           points: '1010'
          },
          {name:'Jody',
           track:'iOS',
           achievements:'9',
           points: '1002'
          },
        ]
          for(var i=0;i<students.length;i++){
          student = students[i];
          if(student.name === 'Jody'){
            newStudents.push(student);
          }
        }
    console.log(newStudents[0].name);
var newStudents=[];
var学生;
var学生=[
{名称:'Odelia',
轨道:'会计',
成绩:"26",,
分数:'2260'
},
{姓名:'Jody',
轨道:'网页设计',
成绩:"12",,
分数:“890”
},
{姓名:'Yann',
跟踪:'Javascript',
成绩:"10",,
分数:'2266'
},
{名称:'Max',
轨道:'营销',
成绩:"13",,
分数:“1010”
},
{姓名:'Jody',
轨道:'iOS',
成绩:"9",,
分数:“1002”
},
]
对于(var i=0;i@Yann Bohbot

有两个问题,, 1.在console.log()中输入正确的对象名,即“newStudent”而不是“newStudent”; 2.您需要在下面的行中更改以获取值, console.log(newStudents[1].name)

您正在使用多维数组,需要以正确的方式进行迭代…)

@Yann Bohbot

有两个问题,, 1.在console.log()中输入正确的对象名,即“newStudent”而不是“newStudent”; 2.您需要在下面的行中更改以获取值, console.log(newStudents[1].name)


您正在使用多维数组,需要以正确的方式进行迭代…:)

Yep-该代码工作正常。应该是
console.log(newStudent[0].name)
因为newStudent是一个arrayIs
console.log(newStudent.name)输入错误?该数组称为
newStudents
,复数形式。如果这是您的意思,那么它是未定义的,因为数组没有
名称
属性。是的,抱歉用sYep将newStudent键入newStudent-该代码工作正常。应该是
console.log(newStudent[0].name)
因为newStudent是一个arrayIs
console.log(newStudent.name)输入错误?该数组称为
newStudents
,复数形式。如果这就是你的意思,那么它是未定义的,因为数组没有
名称
属性。是的,伙计们,很抱歉从newStudent到newStudent的输入错误带有s