codes/고차 함수

17_checkEvenOrNot

Mia_ 2022. 11. 20. 22:41
function checkEvenOrNot(arr) {
  //Q. 수를 요소로 갖는 배열을 입력 받아
  //각 요소가 2의 배수인지에 대한 정보를 요소로 갖는 새로운 배열 리턴 
  //주의! map() 메서드 사용!

  //let output = checkEvenOrNot([1, 2, 3, 4]);
  //console.log(output); // --> ['no', 'ok', 'no', 'ok']

  //1. 2의 배수인지 아닌지 확인하는 함수 만들기
  //2. map() 메서드로 요소별로 확인해서 리턴

  const ckEven = function(el){
    if(el === 0){
      return 'no';
    }
    
    if(el % 2 === 0){
      return 'ok';
    } else{
      return 'no';
    }
  }

  return arr.map(ckEven);
}
//다시 풀어본 코드
function checkEvenOrNot(arr) {
  //Q. 수를 요소로 갖는 배열을 입력 받아
  //각 요소가 2의 배수인지에 대한 정보를 요소로 갖는 새로운 배열 리턴 
  //주의! map() 메서드 사용!

  return arr.map(function(el){
    if(el === 0){
      return 'no';
    } else if(el % 2 == 0){
      return 'ok';
    } else if(el % 2 !== 0){
      return 'no';
    }
  });
}
//Reference code
function checkEvenOrNot(arr) {
  return arr.map(function (el) {
    if (el === 0 || el % 2) {
      return 'no';
    } else {
      return 'ok';
    }
  });
}