Rumah > hujung hadapan web > tutorial js > Cari nombor yang mengelirukan dalam tatasusunan dalam JavaScript

Cari nombor yang mengelirukan dalam tatasusunan dalam JavaScript

王林
Lepaskan: 2023-09-11 22:45:05
ke hadapan
803 orang telah melayarinya

. Sebagai contoh, jika kita memutar 6 180 darjah secara menegak dan mendatar, ia menjadi 9 dan sebaliknya.

在 JavaScript 中查找数组中令人困惑的数字Kita mesti ingat bahawa hanya putaran 0, 1, 6, 8, 9 akan menghasilkan keputusan yang sah.

Kita perlu menulis fungsi JavaScript yang menerima nombor nombor asli sebagai parameter pertama dan satu-satunya. Fungsi ini harus membina tatasusunan yang mengandungi semua nombor asli sehingga dan termasuk nombor.

Sebagai contoh, untuk nombor = 5, tatasusunan hendaklah -

[1, 2, 3, 4, 5]
Salin selepas log masuk

Fungsi kemudiannya harus mengira bilangan nombor mengelirukan yang terdapat dalam tatasusunan dan akhirnya mengembalikan kiraan itu.

Contohnya -

Jika input ialah -

const num = 10;
Salin selepas log masuk

maka outputnya hendaklah -

const output = 5;
Salin selepas log masuk

kerana tatasusunan akan menjadi: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] dan ia membuatkan orang Nombor yang keliru ialah -

1, 6, 8, 9, 10
Salin selepas log masuk

Contoh

Kodnya ialah -

Demo langsung

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));
Salin selepas log masuk

Output

Output dalam konsol ialah -

rreee

Atas ialah kandungan terperinci Cari nombor yang mengelirukan dalam tatasusunan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan