Menentukan Nombor Terdekat dalam Tatasusunan
Andaikan anda mempunyai nilai berangka antara -1000 hingga 1000 dan tatasusunan yang mengandungi integer, seperti sebagai:
[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
Tugas anda ialah mengubah suai nombor yang diberikan untuk memadankan nombor terdekat daripada tatasusunan. Sebagai contoh, jika nombor yang anda berikan ialah 80, ia perlu dilaraskan kepada 82.
Penyelesaian:
Untuk mencapai hasil yang diingini, kita boleh memanfaatkan pengurangan() kaedah untuk mencari nombor yang paling hampir dalam tatasusunan dengan nombor sasaran kami. Kaedah reduce() mengambil fungsi dan nilai penumpuk awal sebagai hujahnya, mengulangi tatasusunan dan menggunakan fungsi pada setiap elemen dan penumpuk.
Berikut ialah contoh pelaksanaan dalam JavaScript ES5:
<code class="js">var counts = [4, 9, 15, 6, 2], goal = 5; var closest = counts.reduce(function (prev, curr) { return Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev; }); console.log(closest); // Output: 6</code>
Dalam contoh ini, kaedah reduce() mengira perbezaan mutlak antara setiap elemen tatasusunan dan nombor sasaran (5). Ia kemudian membandingkan perbezaan mutlak dan menetapkan elemen dengan perbezaan terkecil kepada pembolehubah terdekat. Pembolehubah terdekat memegang nilai 6, iaitu nombor terdekat kepada 5 dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nombor Terdekat dalam Tatasusunan kepada Nilai Diberi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!