> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 배열에서 혼동되는 숫자 찾기

JavaScript 배열에서 혼동되는 숫자 찾기

王林
풀어 주다: 2023-09-11 22:45:05
앞으로
742명이 탐색했습니다.

在 JavaScript 中查找数组中令人困惑的数字

헷갈리는 숫자:

배열의 숫자가 수직 및 수평으로 180도 회전한 후 배열에도 존재하는 다른 숫자로 바뀌면 혼란스러울 수 있습니다. 예를 들어 6을 수직과 수평으로 180도 회전하면 9가 되고 그 반대도 마찬가지입니다.

우리는 0, 1, 6, 8, 9의 회전만이 유효한 결과를 낳는다는 것을 기억해야 합니다.

자연수 num을 첫 번째이자 유일한 매개변수로 받아들이는 JavaScript 함수를 작성해야 합니다. 함수는 먼저 num까지의 모든 자연수를 포함하는 배열을 구성해야 합니다.

예를 들어 num = 5인 경우 배열은 -

[1, 2, 3, 4, 5]
로그인 후 복사

이어야 합니다. 그런 다음 함수는 배열에 혼동되는 숫자가 몇 개 있는지 계산하고 결국 그 수를 반환해야 합니다.

예를 들어 -

입력이 -

const num = 10;
로그인 후 복사

인 경우 배열은 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10이므로 출력은 -

const output = 5;
로그인 후 복사

여야 합니다. ] 사람들을 혼란스럽게 합니다. 숫자는 -

1, 6, 8, 9, 10
로그인 후 복사

예제

코드는 -

라이브 데모

const num = 10;
const countConfusing = (num = 1) => {
   let count = 0;
   const valid = '01689';
   const rotateMap = {'0': '0', '1': '1', '6': '9', '8': '8', '9': '6'};
   const prepareRotation = num => {
      let res = '';
      const numArr = String(num).split('');
      if(numArr.some(el => !valid.includes(el))){
         return false;
      };
      numArr.map(el => {
         res = rotateMap[el] + res;
      });
      return +res;
   };
   for(let i = 1; i <= num; i++){
      const rotated = prepareRotation(i);
      if(rotated && rotated > 0 && rotated <= num){
         count++;
      };
   };
   return count;
};
console.log(countConfusing(num));
로그인 후 복사

출력

콘솔의 출력은 -

5
로그인 후 복사
입니다.

위 내용은 JavaScript 배열에서 혼동되는 숫자 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿