Rumah >hujung hadapan web >tutorial js >Codewars - Perintah Menurun
Salam.
Saya menyiarkan cabaran Codewars dan proses pemikiran saya dalam siri ini. Saya menggunakan JS dan Node 18 apabila boleh. Hanya demi kejelasan, saya menggunakan mereka secara adil.
Menerusi cabaran seterusnya daripada Codewars. Dalam yang ini, kami ditugaskan untuk membangunkan fungsi yang mengambil sebarang integer sebagai input. Kita perlu menyusun digit dari tertinggi hingga terendah.
Saya mulakan dengan pemikiran ini:
"Ok, entah bagaimana saya perlu membahagikan digit. Mungkin saya perlu menukar integer kepada rentetan dahulu. Kemudian bahagikan digit. Kemudian susun, kemudian gabungkan semua, kemudian kembali kepada integer"
Jadi, ia bermula dengan templat:
function descendingOrder(n){ // stringify number = n.toString(); // split digits array = new Array(number.length); // code that fills array with digits {} //sort array.sort() // concatenate digits reverse = array.join(''); // back to integer n = Number.parseInt(reverse); return n; }
Banyak huruf, membosankan. Dan masih tidak berfungsi. Jadi, apa lagi yang kita perlukan? Nah, gelung yang meletakkan digit dalam tatasusunan sebagai permulaan:
// split digits array = new Array(number.length); for(i=0 ; i<number.length ; i++){ array[i] = number.at(i); }
Sepatutnya. Betul tak?
Tidak. Satu perincian kecil. Syaitan ada dalam butirannya. Dan begitu juga pepijat. Susunan fungsi isihan dalam fesyen menaik secara lalai. Kita perlu "mengembalikan polariti". Pada dasarnya, kita memerlukan ini. Tingkah laku lalai adalah seperti ini:
(a, b) => a - b
Dan kami memerlukan:
(a, b) => b - a
Semua bahan digabungkan:
function descendingOrder(n){ number = n.toString(); array = new Array(number.length); for(i=0;i<number.length;i++){ array[i] = number.at(i); } array.sort((a,b)=>b-a) reverse = array.join(''); n = Number.parseInt(reverse); return n; }
Bukan yang terbaik, mahupun penyelesaian yang paling mudah. Tetapi ia berfungsi.
Cya. Minum air ???.
Sebelumnya
Atas ialah kandungan terperinci Codewars - Perintah Menurun. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!