문제
배열을 입력받아 모든 요소의 논리곱(and)을 리턴해야 합니다.
입력
arr : boolean 타입을 구성 요소로 갖는 배열
출력
boolean 타입을 리턴해야 합니다.
arr[0] && arr[1] && ... && arr[n-1]
arr.length는 n
입출력 예시
let output = and([true, true, true]);
console.log(output); // --> true
output = and([true, true, false]);
console.log(output); // --> false
풀이코드 설명
function and(arr) {
//head는 arr 배열의 첫번재 요소
const head = arr[0];
//tail은 2번째요소부터 배열의 마지막까지 지정
const tail = arr.slice(1);
//arr의 길이가 0일때 true 반환
if (arr.length === 0 ){
return true;
}
// arr의 첫번째 요소가 false면 전체 false 반환
else if(head === false){
return false;
}
//tail을 통해 재귀조건 만족시킨 뒤 계속해서 재귀함수 호출
return and(tail);
}
Javascript 재귀 함수문제(7) - findMatryoshka (0) | 2022.12.11 |
---|---|
Javascript 재귀 함수문제(6) - reverseArr (0) | 2022.12.11 |
Javascript 재귀 함수문제(4) - take (0) | 2022.12.11 |
Javascript 재귀 함수문제(3) - drop (0) | 2022.12.11 |
Javascript 재귀 함수문제(1) - isOdd (0) | 2022.12.11 |