본문 바로가기
Javascript

[javascript] 6. 배열 내장 함수 - test

by 홍두두현 2023. 1. 16.
반응형

배열 내장 함수를 정리했으니 테스트를 해보려고 한다.

일단 조건은 숫자 배열이 주어졌을 때 10보다 큰 숫자의 개수를 반환하는 함수를 만드는 것이다.
console에 5가 찍히면 되는 문제이다.

function countBiggerThanTen(numbers) {
 
}

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5

직접 테스트하며 주로 썼던건 reduce,forEach,filter이다.

forEach

function countBiggerThanTen(numbers) {
  let count = 0;
  numbers.forEach(n => {
    if (n > 10) {
      count++;
    }
  });
  return count;
}

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5

export default countBiggerThanTen;

forEach문을 사용해 보았다. 먼저 count로 0을 잡아놓고 파라미터로 받아온 numbers에 forEach문을 실행시키고, if로 10 이상의 조건이 맞춰지면 count는 증가되어 10 이상인 20,30,40,50,60  5가 나온다.

filter

function countBiggerThanTen(numbers) {
  return numbers.filter((n) => n > 10).length;
}

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5

export default countBiggerThanTen;

numbers에 filter 함수로 조건을 10보다 클 때로 잡고 그 후에 새롭게 정렬되는 배열의 개수를length로 체크했다.

reduce

function countBiggerThanTen(numbers) {
 return numbers.reduce((acc, current) => {
    if (current > 10) {
      return (acc += 1);
    }
    return acc;
  }, 0);

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5

export default countBiggerThanTen;

numbers에 reduce 함수를 사용했고 acc와 current만 사용을 했다. 초기값을 0으로 잡고, if문에 current로 배열의 원소를 받아오고 받아온 원소가 10 이상일 때마다 acc에 누적이 되도록 작업했다.

반응형

댓글