Rumah > Artikel > hujung hadapan web > Bagaimanakah Saya Boleh Mencari Nombor Terhampir dalam Tatasusunan kepada Nilai Diberi?
Mencari Nombor Terhampir dalam Tatasusunan
Memandangkan nombor dalam julat tertentu, matlamatnya adalah untuk menentukan nombor terdekat dalam tatasusunan . Katakan nombor yang diberikan boleh berjulat dari -1000 hingga 1000.
Masalahnya:
Kami mempunyai susunan nombor, seperti:
[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
Dan kami ingin mencari nombor dalam tatasusunan yang paling hampir dengan nilai yang diberikan, contohnya 80.
Penyelesaian: Menggunakan Kaedah Array.reduce()
Kita boleh menggunakan kaedah Array.reduce() untuk menyelesaikan masalah ini. Kaedah reduce() menggunakan fungsi pengurang pada setiap elemen tatasusunan, mengumpul hasil menjadi satu nilai.
Berikut ialah penyelesaian JavaScript menggunakan reduce():
<code class="js">var counts = [2, 42, 82, 122, 162, 202, 242, 282, 322, 362], goal = 80; var closest = counts.reduce(function(prev, curr) { return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev); }); console.log(closest); // outputs: 82</code>
Dalam ini penyelesaian, kami menggunakan kaedah reduce() untuk membandingkan perbezaan mutlak antara setiap elemen tatasusunan dan nombor yang diberikan. Elemen dengan perbezaan mutlak terkecil diperuntukkan kepada pembolehubah yang paling hampir.
Akhir sekali, kami log nilai yang paling hampir dengan konsol, yang dalam contoh ini ialah 82, nombor paling hampir kepada 80 dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nombor Terhampir dalam Tatasusunan kepada Nilai Diberi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!