Bagaimanakah Saya Boleh Mencari Nombor Terhampir dalam Tatasusunan kepada Nilai Diberi?

Patricia Arquette
Lepaskan: 2024-10-30 17:52:31
asal
604 orang telah melayarinya

How Can I Find the Closest Number in an Array to a Given Value?

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

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

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!