#javascript #data-structures
#javascript #структуры данных
Вопрос:
Мне нужна помощь с вопросом из моего домашнего задания :
Построение структуры данных для сохранения учащихся: у каждого учащегося есть имя, идентификатор и массив оценок. Создайте функцию, которая получает такую структуру данных в качестве первого параметра, оценку в качестве второго и находит все оценки, которые выше этой оценки.
моя структура данных :
var students = [
{
name: "Student 1",
id : '258741',
grades: [ 65, 61, 67, 70 ]
},
{
name: "Student 2",
id : '369852',
grades: [ 50, 51, 53, 90 ]
},
{
name: "Student 3",
id : '654321',
grades: [ 35, 20, 40, 60 ]
}
];
как я пишу функцию, которая сравнивает каждое число (из числа массива) от каждого учащегося и получает только большее число, чем некоторое значение, например 65?
пожалуйста, не шутите надо мной, я новичок в этой области! Спасибо!!
Комментарии:
1. Пожалуйста, включите вашу собственную попытку решить эту проблему
2. Я не «шучу» над вами, но вам нужно показать свои попытки. Stackoverflow здесь не для того, чтобы делать за вас домашнее задание. Это поможет вам решить проблему, когда вы застряли, делая свои собственные попытки. Вы еще не продемонстрировали, что предприняли какие-либо собственные попытки, так что вы на самом деле не «застряли». Вы просто спрашиваете ответы.
3. Изложите свои попытки в своем вопросе, а не в комментариях.
4.
code
chk_grd = 64 функция checkGrade(учащиеся,chk_grd){ for (пусть i = 0; i < учащиеся. длина; i ) { пусть числа = учащиеся[i].оценки; если (числа[i].оценки> chk_grd) { console.log(числа [i]) } } } Проверка (учащиеся,chk_grd)5. я добавляю свою попытку
Ответ №1:
Предполагая, что вы хотите напечатать только оценки каждого учащегося, которые больше 64:
var students = [{
name: "Student 1",
id: '258741',
grades: [65, 61, 67, 70]
},
{
name: "Student 2",
id: '369852',
grades: [50, 51, 53, 90]
},
{
name: "Student 3",
id: '654321',
grades: [35, 20, 40, 60]
}
];
let chk_grd = 64
function checkGrade(students, chk_grd) {
for (let i = 0; i < students.length; i ) {//for each student
let numbers = students[i].grades;
numbers.map((num) => num > chk_grd ? console.log(num) : null)//for each grade of each student
}
}
checkGrade(students, chk_grd)
Ответ №2:
function checkGrade(students,chk_grd){
for (let i = 0; i < students.length; i ) {
let numbers = students[i].grades;
for(let j = 0; j < numbers.length; j ){
if (numbers[j] > chk_grd) {
console.log(numbers[j])
}
}
}
}
//Test
var students = [
{
name: "Student 1",
id : '258741',
grades: [ 65, 61, 67, 70 ]
},
{
name: "Student 2",
id : '369852',
grades: [ 50, 51, 53, 90 ]
},
{
name: "Student 3",
id : '654321',
grades: [ 35, 20, 40, 60 ]
}
];
checkGrade(students, 64);
Вы должны сравнивать оценки одну за другой.