Рубрики
Без рубрики

Как поменять номер в JavaScript

Artismarti Как поменять номер в Javascriptexamples, используя функцию стрелки и обычные функции JS PhancePhoto от chuttersnap на UnsplashReversing строку или обратный номер – один из распространенных вопросов, задаваемых в интервью программирования. Давайте посмотрим, как это сделано. Правила / ограничения: отрицательный

Автор оригинала: FreeCodeCamp Community Member.

Артисмарти

Примеры с использованием функции стрелки и обычной функции 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)
  )                 
}

Разница между функцией стрелки и регулярной функцией:

В этом примере единственная разница между функцией стрелки и регулярной функцией заключается в том, что регулярная функция должна обеспечить явную Возвращение значение.

Функции стрелки имеют неявное Возвращение Значение – если они могут быть написаны в одной строке, без необходимости {} брекеты

Давайте сломаем шаги вниз:

  • Преобразовать номер в строку

num.tostring () Преобразует данный номер в строку. Мы делаем это, чтобы мы могли использовать Сплит Функция на этом дальше.

let num = -5432100
num.toString()

// num = '-5432100'
  • Разделить строку в массив

num.split ('') Преобразует строку в массив символов. Мы делаем это, поэтому мы можем использовать обратную функцию массива ( которая не работает над строкой ).

// 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

Примечание : Партифлет работает в конце (Хотя это на первой строке функции) на обратном номере и удаляет любые ведущие нули.

  • Умножить это по знак оригинального номера – поддерживать отрицательное значение.

Num * Math.sign (Num) Умножьте номер с признаком исходного номера.

// original value of num = -5432100
// num = 12345

num * Math.sign(-5432100)

// num = -12345

И там у вас есть!