Сұхбат алгоритмі: JavaScript көмегімен бүтін санды қалай өзгертуге болады

Бағдарламалық жасақтама инженерлерінің көпшілігінде кездесетін жалпы сұрақтың бірі кері сан болып табылады, ол: «Берілген бүтін санды қайтарып, сандарды кері ретке келтір». Бұл жеткілікті қарапайым болып көрінеді, бірақ көптеген бастаушы бағдарламашылар көбінесе толық шешім табуға тырысады. Бұл блог терең шолуға және осы мәселенің жауабын бөлуге арналған.

Алдымен мен жауапты ұсынамын, содан кейін мен жауаптың әр жағын түсіндіремін.

функциясы reverseInt (n) {
const кері = parseInt (n.toString (). бөлу (''). кері (). қосылу (''))
қайтару Math.sign (n) * кері
}

Мұны әрі қарай қарастырайық.

1-қадам) Біріншіден, біз (n) санының дәлелін алатын reverseInt функциясын жасаймыз. JS-де санды өзгертуге арналған жол жоқ, алайда массивтің мазмұнын өзгерту үшін .reverse () шақыруға болатынын білеміз. Бірақ қалайша бүтін санды массивке айналдыруға болады? Бұл екі сатылы процесс. 531 санынан бастайық. Кері деп аталатын айнымалыны құрайық.

2-қадам. Мұны бастау үшін бүтін санды жолға айналдыру керек, сондықтан n.toString () -дан бастаймыз, оған дәл солай жетеді. 531.toString () деп шақырсақ, 531 «531» болады.

3-қадам) Бір жолда бүтін сан бар, біз оны .split ('') деп атай аламыз. Егер JavaScript-те .split функциясымен таныс болмасаңыз, мына сілтемені қараңыз. Сплитте бөлгіш және шектеу мүмкіндігі бар. Егер бөлгіш ретінде бос жол («») пайдаланылса, жол әр таңба арасында бөлінеді. Ол «бөлінген» элементтері бар жиымды қайтарады. Енді бізде әр элемент бастапқы санның әр санынан тұратын массив бар. «531» енді [5, 3, 1]

4-қадам) Енді бізде массив ретінде бүтін сан болғандықтан, оны кері айналдыратын масштабта .reverse () деп атай аламыз. Егер массив [5, 3, 1] болса, ол енді болады [1, 3, 5]. Енді біз оны массив түрінде өзгерткеннен кейін, келесі қадамымыз оны жолға айналдыру.

5-қадам. Массивті жолға айналдыру үшін массивке .join () әдісін бос жолдың параметрлерімен шақыру қажет («»). Бұл біздің массивті алады, мысалы [1, 3, 5] және оны «135» жолына айналдырады.

6-қадам) Біз өте жақынбыз! Біз жолымызды өзгерттік, енді жолды бүтін санға айналдыру керек. Мұны істеу әдісі - оны parseInt () ішіне енгізу. ParseInt-ді «135» жолына шақырғаннан кейін, нәтиже - 135 саны.

7-қадам) Бұл маңызды қадам, өйткені бүтін сандар оң немесе теріс болуы мүмкін! Math.sign құтқару! Math.sign () бүтін санды алады және оның белгісі негізінде 1 немесе 1 мәндерін қайтарады. Егер біз n-ді Math.sign аргументі ретінде алсақ, ол оң сан болса, 1-ге, ал теріс сан болса -1-ге тең болады, сондықтан біз тек Math.sign (n) нәтижесін көбейтуіміз керек. жауап алу үшін алынған кері айнымалы бүтін санмен!

Онда сізде кері санды есепті шешудің қарапайым және тиімді әдісін терең түсіндіру бар. Бақытты кодтау!