ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で配列内の紛らわしい数値を見つける

JavaScript で配列内の紛らわしい数値を見つける

王林
王林転載
2023-09-11 22:45:05747ブラウズ

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

混乱する数値:

配列内の 1 つの数値が、垂直方向と水平方向に 180 度回転すると別の数値になる場合、その数値も配列内に存在します。混乱する。たとえば、6 を縦横に 180 度回転すると 9 になり、その逆も同様です。

0、1、6、8、9 の回転のみが有効な結果を生成することに注意する必要があります。

最初で唯一のパラメータとして自然数 num を受け入れる JavaScript 関数を作成する必要があります。関数はまず、num までのすべての自然数を含む配列を構築する必要があります。

たとえば、num = 5 の場合、配列は -

[1, 2, 3, 4, 5]

である必要があります。次に、関数は配列内に存在する紛らわしい数値の数をカウントし、最終的にそのカウントを返します。

たとえば、-

入力が -

const num = 10;

の場合、配列は [1, 2] になるため、出力は -

const output = 5;

になります。 、3、4、5、6、7、8、9、10]、紛らわしい数字は -

1, 6, 8, 9, 10

Example

コードは -

ライブ デモ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。