Як змінити число в JavaScript

Приклади використання функції стрілки та звичайної функції JS

Обернення рядка або задня цифра - одне з найпоширеніших питань, що задаються на програмуванні інтерв’ю. Давайте подивимось, як це робиться.

Правила / Обмеження :

  • Негативні числа повинні залишатися негативними.

напр. -12345стає-54321

  • Будь-які початкові нулі слід видалити.

напр. 321000стає 123& ні000123

  • Функція може приймати плаваючі або цілі числа.

напр. 543.2100стає12.345

  • Функція поверне цілі числа як цілі.

напр. 54321стає 12345& ні12345.00

Вирішення за допомогою функції стрілки:

const reversedNum = num => parseFloat(num.toString().split('').reverse().join('')) * Math.sign(num)

Вирішення за допомогою регулярної функції:

function reversedNum(num) { return ( parseFloat( num .toString() .split('') .reverse() .join('') ) * Math.sign(num) ) }

Різниця між функцією стрілки та звичайною функцією:

У цьому прикладі єдина різниця між функцією стрілки та функцією Regular полягає в тому, що функція Regular повинна надати явне returnзначення.

Функції стрілок мають неявне returnзначення - якщо їх можна записати в один рядок, не потребуючи {}фігурних дужок.

Давайте розберемо етапи:

  • Перетворіть число у рядок

num.toString()перетворює задане число у рядок. Ми робимо це, щоб ми могли використовувати splitнаступну функцію.

let num = -5432100 num.toString() // num = '-5432100'
  • Розбийте рядок на масив

num.split('')перетворює рядок у масив символів. Ми робимо це, щоб ми могли використовувати функцію Array reverse ( яка не працює на рядку ).

// num = '-5432100' num.split('') // num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
  • Змінити масив

num.reverse() змінює порядок елементів у масиві.

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ] num.reverse() // num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
  • З’єднайте його назад у рядок

num.join('') повторно збирає зворотні символи у рядок.

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ] num.join('') // num = '0012345-'
  • Проаналізуйте вхідне значення на число з плаваючою комою:

parseFloat(num)перетворює numв поплавок із рядка.

// num = '0012345-' parseFloat(num) // num = 12345

Примітка :parseFloatвиконується в кінці (навіть якщо він знаходиться в першому рядку функції) на зворотному номері і видаляє всі початкові нулі.

  • Помножте його на знак вихідного числа - щоб зберегти від’ємне значення.

num * Math.sign(num) множить число на знак вихідного номера, що надається.

// original value of num = -5432100 // num = 12345 num * Math.sign(-5432100) // num = -12345

І ось вам!