lodash (underscore) - знай свою стандартну бібліотеку

  image
 
Знаючі люди рекомендують розробникам періодично пробігати очима свою стандартну бібліотеку, щоб краще представляти її можливості. Навіщо черговий раз винаходити велосипед, коли до нас вже стільки зроблено, і, головне, добре відтестувати, а буває навіть і нормально задокументовано. Кажуть, повне використання стандартної бібліотеки здорово підвищує продуктивність.
 
Що ж, останнім часом, у своїй роботі я у всіх проектах задіюю lodash (комусь може більше подобатися underscore ). Для мене це, фактично, — стандарт. В черговий раз пробігаючи очима API, я вирішив скласти для себе шпаргалку у вигляді: «назва функції» — «короткий опис». Так зручно освіжати API в пам'яті. Може кому знадобиться.
 
 
Масиви
                                                                                          
compact 
Прибираємо з масиву всі порожні елементи (0, "", null , undefined )
difference 
Створюємо новий масив, як різницю, де з першого масиву виключили всі значення другого (А Б )
findIndex 
Повертає індекс першого елемента, за яким callback повернув true
findLastIndex 
Повертає індекс першого з кінця елемента, за яким callback повернув true
first 
Повертає перший або кілька перших елементів масиву
flatten 
Витягує, у вигляді масиву, елементи з об'єктів, що містяться в переданому масиві
indexOf 
Повертає індекс першого збігається (===) елемента, якщо масив сортував можна прискорити пошук
initial 
Повертає початкову частину масиву (крім n останніх)
intersection 
Повертає перетин масивів (декількох)
last 
Повертає останній або кілька останніх елементів масиву
lastIndexOf 
Повертає індекс останнього збігається (===) елемента. (Можна шукати не з самого кінця)
pull 
Видаляє передані елементи з масиву
range 
Створює масив з числами від start до end (можна вибрати крок)
remove 
Видаляє з масиву елементи за заданим правилом і повертає масив видалених елементів
rest 
Повертає всі крім першого (кількох перших) елементів масиву
sortedIndex 
Повертає індекс вставки поточного значення в сортованому масиві
union 
Повертає масив унікальних значень — результат об'єднання декількох масивів
uniq 
Створює копію масиву без дублікатів
without 
Створює новий масив з існуючого виключаючи деякі значення
xor 
Створює новий масив — «семантичну різницю» між переданими масивами
zip 
Створює масив згрупованих в подмассіви елементів. На вхід приймає кілька масивів. Збирає так: перші елементи всіх вхідних масивів потрапляють в першу групу і т.д.
zipObject 
Збирає об'єкт з двох масивів (з ключами і зі значеннями)
 
Колекції
                                                                                                          
at 
Створює нову колекцію, тільки з перерахованих елементів
contains 
Перевіряє, міститься (містяться) Чи певний елемент в колекції
countBy 
Створює об'єкт, ключами якого будуть значення, що повертаються функцією зворотного виклику, а значеннями — кількість відповідних повернень
every 
Перевірка на те, що всі елементи колекції істини (або задовольняють умові).
filter 
Пробігає по всіх елементах колекції і повертає МАСИВ з елементів, що задовольняють умові
find 
Повертає перший елемент колекції, що відповідає заданим критеріям
findLast 
Те ж саме, що і find , тільки з кінця
forEach 
пробігати по всіх елементах колекції, запускаючи функцію зворотного виклику для кожного елемента
forEachRight 
Те ж саме, що і forEach, тільки з кінця
groupBy 
Створює колекцію, ключами якої є значення, повернуті функцією зворотного виклику, а значеннями — масиви з початкових елементів колекції
indexBy 
Створює колекцію, ключами якої є значення, повернуті функцією зворотного виклику, а значеннями — останні елементи первісної колекції з відповідним ключем
invoke 
Виконує певний метод для кожного елемента колекції і повертає масив з результатів цього виконання
map 
Створює масив елементів, проганяючи кожен елемент колекції через функцію зворотного виклику
max 
Повертає максимальне значення колекції
min 
Повертає мінімальне значення колекції
pluck 
Повертає всі значення певної властивості колекції
reduce 
Зменшуємо колекцію до значення, одержуване викликом функцій зворотного виклику для кожного значення. У цю функцію, крім самого значення, передається також результат попереднього виклику.
reduceRight 
Те ж саме, що і reduce , тільки з кінця
reject 
На противагу filter — ця функція повертає масив елементів колекції, які не задовольняють умові
sample 
Повертає випадковий елемент колекції
shuffle 
Повертає масив з перемішаних у випадковому порядку елементів колекції
size 
Повертає розмір колекції
some 
Перевірка на те, що хоча б один елемент колекції правдивий (або задовольняє умові).
sortBy 
Повертає масив сортованих по зростанню елементів колекції. Для сортування використовуються значення одержувані функцією зворотного виклику по кожному елементу.
toArray 
Перетворює колекцію до масиву. Корисно для роботи з arguments
where 
Проводить глибоке порівняння кожного елемента з певним об'єктом. Повертає масив, що задовольняє порівнянню.
 
Функції
                                                              
after 
Повертає функцію, яка викличе переданий колбек тільки після n-ого виклику
bind 
Повертає функцію, яка при виклику буде прив'язана до поточного this , до прив'язаним аргументів і аргументів, відданих в саму викликану функцію.
bindAll 
Прив'язує всі методи об'єкта до самого цього об'єкту (this в методах завжди буде сам об'єкт)
bindKey 
Прив'язує метод об'єкта до самого об'етку (на момент прив'язки, метод може ще не існувати)
compose 
Повертає функцію — композицію з переданих функцій. Передаємо f, g, h — повертає функцію = f (g (h ()))
curry 
Приймає на вхід функцію з n параметрами, а повертає функцію, яка у разі якщо параметрів достатньо — викличе вхідну, якщо ні, поверне іншу функцію, передавши залишилися параметри якої — викличеться первісна.
debounce 
Повертає функцію, яка запустить вхідну функцію тільки витримавши паузу після свого останнього запуску. (Усунення деренчання)
defer 
Викличе вхідну функцію тоді, коли звільниться поточний стек виклику (на початку наступного циклу подій)
delay 
Викличе вхідну функцію через n мілісекунд
memoize 
Повертає функцію, яка кешируєт результати свого виконання, і не виконується, якщо результат є в кеші.
once 
Поверне функцію, яка викличе вхідну тільки один раз. У наступні рази буде повертатися отриманий результат.
partial 
Те ж саме, що і bind , але не прив'язує this
partialRight 
Те ж саме, що і partial , але прив'язується до параметрів праворуч
throttle 
Повертає функцію, яка викликає вихідну не частіше ніж один раз на n мілісекунд
wrap 
Створює функцію, в перший параметр якої буде передано перший параметр врапера.
 
Об'єкти
                                                                                                                                                              
assign 
Доповнює об'єкт відсутніми (не просто undefined ) властивостями з іншого об'єкта
clone 
Робить копію об'єкта (вкладені об'єкти копіюються за посиланням)
cloneDeep 
Глибоке копіювання об'єкта (вкладені об'єкти копіюються за змістом)
create 
Створює об'єкт по переданому прототипу і властивостями
defaults 
Доповнює об'єкт відсутніми (=== undefined ) властивостями з іншого об'єкта — задає умовчання
findKey 
Шукає перший об'єкт задовольняє умовам — повертає ключ
findLastKey 
Шукає останній об'єкт задовольняє умовам — повертає ключ
forIn 
Обходить всі властивості об'єкта (включаючи внутрішні), викликаючи для кожного з них функцію зворотного виклику
forInRight 
Те ж саме що і forIn тільки з кінця
forOwn 
Обходить всі власні властивості об'єкта, викликаючи для кожного з них функцію зворотного виклику
forOwnRight 
Те ж саме що і forOwn тільки з кінця
functions 
Повертає відсортований масив імен всіх властивостей об'єкта, значеннями яких ялвяется функції
has 
Перевіряє, чи є вказане властивість власним властивістю об'єкта
invert 
Створює об'єкт у якого ключі і значення поміняні місцями
isArguments 
Перевіряє, чи є значення — об'єктом arguments
isArray 
Перевіряє, чи є значення масивом
isBoolean 
Перевіряє, чи є значення булевої змінної
isDate 
Перевіряє, чи є значення масивом
isElement 
Перевіряє, чи є значення DOM -елементом
isEmpty 
Перевіряє, чи є значення порожнім. Масиви, рядки, arguments -об'єкти з нульовою довгою вважаються порожніми
isEqual 
Проводить глибоке порівняння двох значень
isFinite 
Перевіряє, чи є дане значення кінцевим числом, або ж воно може бути пріобразовано до нього
isFunction 
Перевіряє, ялвяется чи дане значення функцією
isNaN 
Перевіряє значення на === NaN (це не те ж саме, що стандартна isNuN , яка повертає true для undefined і не числових значень)
isNull 
Перевіряє значення на === null
isNumber 
Перевіряє, чи є значення числом (NaN теж вважається числом)
isObject 
Перевіряє, чи є значення об'єктом
isPlainObject 
Перевіряє, чи є значення чистим об'єктом (створеним конструктором Object )
isRegExp 
Перевіряє, чи є значення регулярним вираз
isString 
Перевіряє, чи є значення рядком
isUndefined 
Перевіряє значення на === undefined
keys 
Повертає масив ключів об'єкта
mapValues ​​
Соза новий об'єкт з такими ж ключами, як у вихідного, значення виходять викликом callback-функції до кожного елементу
merge 
Рекурсивно додає передані об'єкти в об'єкт призначення
omit 
Повертає об'єкт, у якого прибрані деякі властивості
pairs 
Створює з об'єкта двовимірний масив, типу [[key1, value1], [key2, value2]] .
pick 
Створює з об'єкта інший об'єкт з властивостями зі списку
transform 
Більш проста альтернатива reduce — дозволяє трансформувати вхідний об'єкт в іншій, за допомогою функції зворотного виклику, в яку передається крім елементів ще й результуючий об'єкт
values ​​
Повертає масив значень об'єкту
 
Утиліти
                                                                      
now 
Повертає поточний Unix-time в мілісекундах
constant 
Створює функцію, що повертає передане значення
createCallback 
Створює функцію, коллбек — використовується для внутрішніх цілей lodash
escape 
екрануйте символи &, <,>, ", і 'соответс html-сутностями
identity 
Функція повертає перший переданий в неї аргумент
mixin 
Додає в об'єкт (або в сам lodash ) елементи відданого об'єкта. Якщо об'єкт-приймач — функція, додає властивості в прототип.
noConflict 
Робить _ рівним старого значенням (до запуску lodash ), і повертає покажчик на lodash
noop 
Порожня функція. Повертає undefined
parseInt 
Витягує число з рядка, за замовчуванням працює завжди з 10-ою системою числення (на відміну від стандартної)
property 
Повертає функцію в стилі pluck , виклик якої з об'єктом як параметр, поверне значення певної властивості.
random 
Поверне випадкове число з діапазону. Може дробове.
result 
Поверне значення властивості в об'єкті (якщо значенням буде функція, вона буде викликана і повернений її результат)
runInContext 
Поверне нову lodash -функцію прив'язану до заданого контексту
template 
Мікрошаблонізатор
times 
Виконує зазначений callback n-раз, повертаючи масив результатів
unescape 
Функція, зворотна escape
uniqueId 
Повертає унікальний числовий ID (число, кожного разу на одиницю більше. можна передавати префікс)
 P.S. Я сам, звичайно, не використав всі 100% функцій у своїй роботі, тому можливі неточності — пишіть в личку, все поправлю. З приводу орфографії — туди ж.
  
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.