Rumah > hujung hadapan web > tutorial js > Program JavaScript untuk mencari nombor terdekat dalam tatasusunan

Program JavaScript untuk mencari nombor terdekat dalam tatasusunan

王林
Lepaskan: 2023-09-07 16:25:08
ke hadapan
1503 orang telah melayarinya

JavaScript 程序查找数组中最接近的数字

Kami akan menulis program JavaScript untuk mencari nombor terdekat dalam tatasusunan dengan membandingkan setiap elemen dengan nombor sasaran dan menjejaki elemen terdekat. Atur cara akan menggunakan gelung untuk melelar melalui setiap elemen dalam tatasusunan dan menggunakan pernyataan bersyarat untuk membandingkan perbezaan antara nombor sasaran dan elemen semasa. Jika perbezaannya kurang daripada perbezaan terdekat semasa, kami mengemas kini nombor terdekat. Hasil daripada program ini akan menjadi nombor dalam tatasusunan yang diberikan yang paling hampir dengan sasaran.

Kaedah

Program ini mencari nombor yang paling hampir dengan nilai sasaran dalam tatasusunan nombor -

  • Tentukan pembolehubah untuk menyimpan perbezaan antara nilai sasaran dan nilai semasa dalam gelung.

  • Tetapkan perbezaan kepada nombor yang sangat besar supaya sebarang nombor dalam tatasusunan menjadi lebih kecil dan menjadi nombor terdekat yang baharu.

  • Gelung melalui tatasusunan nombor dan untuk setiap nombor, kira perbezaan mutlak antara nilai sasaran dan nombor semasa.

  • Jika perbezaan semasa kurang daripada perbezaan yang disimpan, kemas kini perbezaan yang disimpan kepada perbezaan semasa dan simpan nombor semasa sebagai nombor terdekat.

  • Ulang proses ini untuk semua nombor dalam tatasusunan.

  • Selepas gelung tamat, nombor yang paling hampir dengan nilai sasaran ialah nombor yang disimpan dalam pembolehubah.

Contoh

Ini ialah contoh fungsi JavaScript yang mengambil sebagai input tatasusunan nombor dan nombor sasaran serta mengembalikan nombor dalam tatasusunan yang paling hampir dengan nombor sasaran -

function findClosest(numbers, target) {

   let closest = numbers[0]; 
   // Assume the first number is the closest
   let closestDiff = Math.abs(target - closest); 
   
   // Calculate the difference between the target and closest
   for (let i = 1; i < numbers.length; i++) {
      let current = numbers[i];
      let currentDiff = Math.abs(target - current); 
      
      // Calculate the difference between the target and current number
      if (currentDiff < closestDiff) {
         closest = current; 
         
         // Update the closest number
         closestDiff = currentDiff; 
         
         // Update the closest difference
      }
   }
   return closest;
}
const arr = [45, 23, 25, 78, 32, 56, 12];
const target = 50;

console.log(findClosest(arr, target));
Salin selepas log masuk

Arahan

    Fungsi
  • findClosest mempunyai dua parameter: susunan nombor dan nombor sasaran sasaran.

  • Kami mencipta pembolehubah paling hampir dan menetapkannya sama dengan nombor pertama dalam tatasusunan nombor, dengan mengandaikan ini adalah nombor paling hampir dengan sasaran.

  • Kami juga mencipta pembolehubah closestDiff yang mengira perbezaan antara nombor sasaran dan nombor terdekat menggunakan Math.abs(). Math.abs()Mengembalikan nilai mutlak sesuatu nombor, memastikan perbezaannya sentiasa positif.

  • Kemudian kami menggunakan gelung for untuk lelaran ke atas tatasusunan nombor. Untuk setiap lelaran, kami menyimpan nombor semasa dalam pembolehubah semasa dan mengira perbezaan antara nombor sasaran dan nombor semasa dalam currentDiff.

  • Jika currentDiff kurang daripada closestDiff, kami mengemas kini closest kepada current dan closestDiff kepada currentDiff.

  • Akhir sekali, fungsi mengembalikan nombor yang paling hampir dengan sasaran.

Atas ialah kandungan terperinci Program JavaScript untuk mencari nombor terdekat dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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