>  기사  >  웹 프론트엔드  >  JavaScript 배열에서 혼동되는 숫자 찾기

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

王林
王林앞으로
2023-09-11 22:45:05679검색

在 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으로 문의하시기 바랍니다. 삭제