Помощь с задачей JS?

Всем привет!
P.s. Недавно начал изучать JS
Пожалуйста, помогите решить эту задачу:
Есть массив объектов:

var students = [
    {
        first_name: 'Nikolay',
        last_name: 'Reyen',
        age: 19,
        grades: [1,2,5,3,4]
    },
    {
        first_name: 'Alex',
        last_name: 'Popov',
        age: 25,
        grades: [4,2,5,3,5]
    },
    {
        first_name: 'Ivan',
        last_name: 'Petrov',
        age: 22,
        grades: [2,4,3,5,3]
    }
];


1. Мне надо написать функцию logStudents, которая принимает массив студентов в качестве аргумента
2. С помощью метода forEach пробежаться по массиву studentsArr
3. Внутри функции с помощью for...in пробегаемся по параметрам объекта и выводим в консоль ЗНАЧЕНИЕ параметра

function logStudents (studentsArr) {
    studentsArr.forEach(function(){
        for(var key in studentsArr){
            console.log(key + ': ' + studentsArr[key])
        }
    })
}

logStudents(students)


Написал задачу так, но в консоль выводится:
0: [object Object]
1: [object Object]
2: [object Object]
...


В чем косяк, не могу понять! Хелп ми, плиз!)
  • Вопрос задан
  • 549 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
function logStudents (studentsArr) {
  studentsArr.forEach(function(student){   // вот тут функция должна принимать каждый элемент массива
    for(var key in student){  // и проходимся по этому каждому элементу, а не про studentsArr
      console.log(key + ': ' + student[key])
    }
  })
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Apkor
Создай прототип обьекта студент и опиши метод valueOf, если хочешь по красоте, ну либо как выше с проверкой objectOf
Ответ написан
Комментировать
@nessptz
function logStudents (studentsArr) {
studentsArr.forEach((student)=>{
for(const key in student){
console.log(key + ': ' + student[key])
}
})
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы