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

HongDuHyeon·2022년 2월 8일
0
post-thumbnail
post-custom-banner

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

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

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,605가 나온다.

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 함수를 사용했고 acccurrent만 사용을 했다. 초기값을 0으로 잡고, if문에 current로 배열의 원소를 받아오고 받아온 원소가 10 이상일때마다 acc에 누적이 되도록 작업했다.

profile
마음이 시키는 프론트엔드.. RN과 IOS를 곁들인..
post-custom-banner

0개의 댓글