Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Membetulkan Gelagat Tidak Dijangka Operator Modulo JavaScript dengan Nombor Negatif?
Membetulkan Operator Modulo Nombor Negatif dalam JavaScript
Dalam JavaScript, pengendali modulo (%) mengembalikan baki apabila membahagikan satu nombor dengan yang lain. Walau bagaimanapun, untuk nombor negatif, pengendali modulo JavaScript berkelakuan di luar jangkaan, mengembalikan hasil negatif. Isu ini timbul kerana JavaScript secara dalaman menggunakan integer yang ditandatangani, yang tidak sesuai untuk operasi modulo.
Untuk menyelesaikan isu ini, anda boleh menggunakan fungsi mod tersuai berikut:
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
Fungsi ini memastikan bahawa keputusan modulo sentiasa positif, selaras dengan definisi matematik bagi modulo.
Penggunaan:
console.log(-13.mod(64)); // Output: 51
Penjelasan:
Fungsi mod tersuai terlebih dahulu mengira baki menggunakan asli operator modulo JavaScript. Kemudian, ia menambah pembahagi (n) kepada bakinya. Ini memastikan bahawa hasilnya bukan negatif. Akhir sekali, ia melakukan operasi modulo kedua untuk mendapatkan baki positif akhir.
Fungsi modulo yang diubah suai ini menjajarkan gelagat JavaScript dengan hasil matematik yang dijangkakan, memudahkan pengiraan yang konsisten dan tepat melibatkan nombor negatif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Gelagat Tidak Dijangka Operator Modulo JavaScript dengan Nombor Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!