Maison  >  Article  >  interface Web  >  Trouver des nombres déroutants dans un tableau en JavaScript

Trouver des nombres déroutants dans un tableau en JavaScript

王林
王林avant
2023-09-11 22:45:05679parcourir

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

Nombres déroutants :

Un nombre dans un tableau peut prêter à confusion s'il se transforme en un autre nombre également présent dans le tableau après avoir été pivoté de 180 degrés verticalement et horizontalement. Par exemple, si nous tournons de 6 à 180 degrés verticalement et horizontalement, cela devient 9 et vice versa.

Nous devons nous rappeler que seuls les tours de 0, 1, 6, 8, 9 produiront des résultats valides.

Nous devons écrire une fonction JavaScript qui accepte le nombre naturel num comme premier et unique paramètre. La fonction doit d’abord construire un tableau contenant tous les nombres naturels jusqu’à num inclus.

Par exemple, pour num = 5, le tableau devrait être -

[1, 2, 3, 4, 5]

La fonction devrait alors compter le nombre de nombres déroutants présents dans le tableau et éventuellement renvoyer ce nombre.

Par exemple -

Si l'entrée est -

const num = 10;

alors la sortie devrait être -

const output = 5;

car le tableau sera : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] et ça rend les gens Le numéro confus est -

1, 6, 8, 9, 10

Exemple

Son code est -

Démo en direct

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));

Sortie

La sortie dans la console sera -

5

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer