ES6 Для каждого / карта оценки учеников - PullRequest
0 голосов
/ 03 июня 2018

Нужен небольшой совет от вас - новичок здесь.

У меня есть примерный массив, содержащий как имена студентов, так и их оценки на экзамене.

Мне нужно выполнить функцию, котораяпроверяет, сдал ли студент экзамен или нет (предположим, что для сдачи достаточно балла> = 80), и в обоих случаях отображается правильная информация - «Пройдено» или «Не сдано».

Мне нужно сделать это, используя структуру .map или цикл «для каждого».

Буду очень признателен, если вы поможете мне:)

var students = [['David', 80], ['Vinoth', 77], ['Divya', 88], ['Ishitha', 95], ['Thomas', 68]];

Ответы [ 4 ]

0 голосов
/ 03 июня 2018
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script>
  $(function(){
          var students = [['David', 80], ['Vinoth', 77], ['Divya', 88], ['Ishitha', 95], ['Thomas', 68]];
          for (var i = 0; i < students.length; ++i) {
               var item = students[i];
               if(item[1]>= 80){
                  console.log(item[0] + ": Passed.");
               }else{
                   console.log(item[0] + ": Didn't pass.");
               }

          }
     });
</script>

Результат:

David: Passed.
Vinoth: Didn't pass.
Divya: Passed.
Ishitha: Passed.
Thomas: Didn't pass.
0 голосов
/ 03 июня 2018

Я не уверен, что вы собираетесь использовать ту же (только что обогащенную) структуру данных или просто вывод, но хотите ли вы использовать существующий вложенный массив с результатом:

students = students.map(s => { 
  return [s[0], s[1], s[1] >= 80 ? 'passed' : 'not passed'];
});

Есливы просто хотите вывести имя студента: пройдено / не пройдено, вместо этого вы можете использовать forEach

0 голосов
/ 03 июня 2018

Вы можете попробовать использовать функцию Array.map:

students.map([name, score] => ({name, score, passed: score >= 80}));
0 голосов
/ 03 июня 2018

Да, просто обойдите всех студентов:

 for(const [name, score] of students) {
   //...
 }

Теперь вам нужно просто войти в систему на основе оценки, чтобы получить необходимую информацию:

 if(true /*?*/) {
   console.log(name + " did pass");
 } else {
  console.log(name + " did not pass");
 }

Нет, это пока не работает, я оставил кое-что для вас, чтобы решить ...:)

...