가장 큰 번호 재귀를 사용하여 배열에서

안녕하세요 여러분 오늘 저는 재귀를 사용하여 배열에서 가장 큰 숫자를 찾는 방법을 보여주고 싶습니다.
글쎄, 나는 오늘이 질문을 찾은 다음 stackoverflow😂를 검색하고이 솔루션을 찾은 다음이 솔루션을 이해하려고했습니다.
시작하자...

코드 -



const findMax = arr => {
  if (!Array.isArray(arr)) throw 'Not an array'
  if (arr.length === 0) return undefined
  const [head, ...tail] = arr
  if (arr.length === 1) return head
  return head > findMax(tail) 
    ? head
    : findMax(tail)
}

console.log(findMax([1,9,10,28,78,10]))

일하고 있는 -


  • 먼저 전달된 인수가 화살표인지 여부를 확인합니다. 배열이 아니면 오류가 발생합니다
  • .
  • 그런 다음 배열의 길이가 0인지 확인하고 길이가 이면 undefined를 반환합니다.
  • 다음 줄에서 배열을 헤드와 테일의 두 부분으로 분해했습니다. 헤드는 배열의 첫 번째 요소를 포함하고 ...테일은 나머지 배열을 포함합니다
  • .
  • 그런 다음 배열 길이가 1 인 경우 헤드(해당 배열의 첫 번째이자 유일한 요소)를 반환하는지 확인합니다
  • .
  • 그런 다음 삼항 연산자를 사용하여 조건을 제공했습니다. 헤드가 findMax(tail)보다 크면 헤드 요소가 첫 번째 요소이고 findMax(tail)는 다음 요소인 테일 배열의 첫 번째 요소를 제공합니다. 요소 jsut 이후에 두 요소를 비교합니다. 조건이 참이면 헤드 요소를 가장 큰 값으로 반환하고 조건이 거짓이면 재귀적으로 꼬리를 확인하고 해당 배열의 첫 번째 요소를 헤드로 사용합니다. 나머지는 기타 꼬리 요소
  • 따라서 재귀적으로 배열의 모든 요소를 ​​확인하고 비교하여 가장 큰 요소를 제공합니다.

  • 그것은 매우 혼란스러워 보이며 설명하기 위해 최선을 다했으며 잘못된 점이 있으면 댓글 섹션에서 수정하십시오.

    쉽고 빠른 접근

    const findMax = array => Math.max(...array);
    


    이 게시물을 확인해 주셔서 감사합니다.
    ^^ 아래 링크에서 기부로 저를 도울 수 있습니다 감사합니다👇👇 ^^
    ☕ --> https://www.buymeacoffee.com/waaduheck <--

    이 게시물도 확인하십시오.

    좋은 웹페이지 즐겨찾기