Jadual Kandungan
Kaedah
Contoh
Arahan
Rumah hujung hadapan web tutorial js Program JavaScript untuk mencari nombor terdekat dalam tatasusunan

Program JavaScript untuk mencari nombor terdekat dalam tatasusunan

Sep 07, 2023 pm 04:25 PM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Apr 04, 2025 pm 05:12 PM

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

TypeScript untuk pemula, Bahagian 2: Jenis Data Asas TypeScript untuk pemula, Bahagian 2: Jenis Data Asas Mar 19, 2025 am 09:10 AM

Sebaik sahaja anda telah menguasai tutorial TypeScript peringkat kemasukan, anda harus dapat menulis kod anda sendiri dalam IDE yang menyokong TypeScript dan menyusunnya ke dalam JavaScript. Tutorial ini akan menyelam ke dalam pelbagai jenis data dalam TypeScript. JavaScript mempunyai tujuh jenis data: null, undefined, boolean, nombor, rentetan, simbol (diperkenalkan oleh ES6) dan objek. Typescript mentakrifkan lebih banyak jenis atas dasar ini, dan tutorial ini akan meliputi semuanya secara terperinci. Jenis data null Seperti JavaScript, Null dalam TypeScript

See all articles