I have an array of objects (student name, achievement, etc..) and I want to add any object that has the name "Jody" (for example) in a new empty array I created.
However, when I try to print the name only of the new array of objects I get the undefined.
Note: I can't use let, const etc..
Any ideas what I'm missing here?
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);
output:
0:
achievements: "12"
name: "Jody"
points: "890"
track: "Web Design"
__proto__: Object
1:
achievements: "9"
name: "Jody"
points: "1002"
track: "iOS"
__proto__: Object
length: 2
__proto__: Array(0)
undefined
console.log(newStudent[0].name);Because newStudent is a arrayconsole.log(newStudent.name);a typo? The array is callednewStudents, plural. If that's what you meant, then it's undefined because arrays don't have anameproperty.