'How to log how many possibilities fulfil the if statement javascript

const grades = [9, 8, 5, 7, 7, 4, 9, 8, 8, 3, 6, 8, 5, 6];
for (let i = 0; i < grades.length; i++) {
  if (grades[i] >= 8) {
    console.log(grades[i])
  }
}

I'm trying to log how many items from the array fulfil the condition. the output I'm looking for is : 6 (because 6 of the numbers are equal or greater than 8)

tried

let count = 0; for (let i = 0; i < grades.length; i++) {

if (grades[i]>= 8){ count++

console.log(count)

}

}



Solution 1:[1]

function countGreaterThan8(grades){
    // initialize the counter
    let counter = 0;
    for (let i = 0; i < grades.length; i++) {

      // if the condition satisfied counter will be incremented 1
      if (grades[i] >= 8) {
        counter++;
      }
    }
    return counter;
}

const grades = [9, 8, 5, 7, 7, 4, 9, 8, 8, 3, 6, 8, 5, 6];
console.log(countGreaterThan8(grades)); // 6

Solution 2:[2]

You can call Array.filter to create a new array containing only items that fulfill the condition. You can then make use of the length of the array however you want. Like this

const grades = [9, 8, 5, 7, 7, 4, 9, 8, 8, 3, 6, 8, 5, 6];
const gradesThatPassCondition = grades.filter(grade => grade > 6);
console.log(gradesThatPassCondition.length);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Shourov Rahman
Solution 2 JayCodist