CSSSR-School / junior-course-utils

Полезные функции-утилиты

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

course-utils

Полезные утилиты

formatMoney

formatMoney - форматирует число в денежный вид по заданым параметрам

Функция принимает следующие значения.

Prop Type Description
amount number число
decimalCount number количество знаков после запятой(точность), значение по умолчанию: 2
decimal string знак отделяющий целую часть от дробной, значение по умолчанию: '.'
thousands string знак отделяющий разряды целой части, значение по умолчанию: ','
return string денежный вид числа

amount - обязательное значение

Пример работы

formatMoney(10235); -> 10,235.00

maxBy

maxBy - ищет максимальный элемент массива используя переданную ей функцию

Prop Type Description
getter function функция вычисляющая значения для сравнения
list array массив проверяемых элементов
return string максимальный элемент

Пример работы

maxBy(obj => obj.x, [{a: 1, x: 2}, {x:3}]); -> {x: 3}

minBy

minBy - ищет минимальный элемент массива используя для сравнения элементов переданную ей функцию

Prop Type Description
getter function функция вычисляющая значения для сравнения
list array массив проверяемых элементов
return string минимальный элемент

Пример работы

minBy(obj => obj.x, [{a: 1, x: 2}, {x:3}]); -> {a:1, x: 2}

splitEvery

splitEvery - разбивает коллекцию на фрагменты указанной длины

Prop Type Description
n number длина фрагмента
list array коллекция элементов
return array массив поделенный на фрагменты

Пример работы

splitEvery(3, ['3', '2', '1', '1', '2', '3', '3', '2']); -> [['3','2','1'], ['1','2','3'], ['3', '2']]

toInt

toInt - переводит строку в целое число, убирая из строки все символы кроме цифр

Prop Type Description
value string исходная строка
return number приведенное число

Пример работы

toInt('1000xs'); -> 1000

logger

logger - функция которая логгирует изменения пропсов или стейта компонента.

Функция получает на вход groupName(обычно это название компонента), предыдущие пропсы и стейт, а также она должна быть вызывана в контексте компонента. Пример интеграции:

shouldComponentUpdate(nextProps, nextState) {
  logger.call(this, this.constructor.name, nextProps, nextState);
  return true
}

Также данная функция учитывает состояние localStorage - если установить localStorage.debug в false то функция перестанет выводить изменения пропсов или стейта в консоль.

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

Prop Type Description
groupName string название логируемого компонента/группы компонентов - будет выведено в начале лога
nextProps Object предыдущие пропсы компонента
nextState Object предыдущий стейт компонента

About

Полезные функции-утилиты


Languages

Language:JavaScript 100.0%