Содержание:
Lodash — это библиотека утилит для работы с данными в JavaScript. В этой статье собраны наиболее часто используемые функции. Библиотека загружена на этой странице, можете потренироваться с ней в консоли браузера.
Работа со строками:
1 2 |
const capitalizedString = _.capitalize('hello'); // Вывод: 'Hello' |
1 2 |
const endsWith = _.endsWith('lodash', 'sh'); // Вывод: true |
1 2 |
const deburredString = _.deburr('déjà vu'); // Вывод: 'deja vu' |
1 2 |
const truncatedString = _.truncate('Lodash is awesome', { length: 10 }); // Вывод: 'Lodash...' |
1 2 |
const paddedString = _.pad('lodash', 10, '*'); // Вывод: '**lodash**' |
1 2 |
const camelCaseString = _.camelCase('hello world'); // Вывод: 'helloWorld' |
1 2 |
const kebabCaseString = _.kebabCase('Hello World'); // Вывод: 'hello-world' |
1 2 |
const upperCaseString = _.toUpper('lodash'); // Вывод: 'LODASH' |
1 2 |
const startsWith = _.startsWith('lodash', 'lo'); // Вывод: true |
1 2 |
const trimmedString = _.trim(' lodash '); // Вывод: 'lodash' |
1 2 |
const invertedObject = _.invert({ a: 'apple', b: 'banana' }); // Вывод: { 'apple': 'a', 'banana': 'b' } |
Работа с массивами:
1 2 |
const squaredNumbers = _.map([1, 2, 3], num => num * num); // Вывод: [1, 4, 9] |
1 2 |
const evenNumbers = _.filter([1, 2, 3, 4], num => num % 2 === 0); // Вывод: [2, 4] |
1 2 |
const sum = _.reduce([1, 2, 3], (acc, num) => acc + num, 0); // Вывод: 6 |
1 2 |
const zippedArrays = _.zip([1, 2, 3], ['one', 'two', 'three']); // Вывод: [[1, 'one'], [2, 'two'], [3, 'three']] |
1 2 3 |
const nestedArray = [1, [2, [3, [4]]]]; const flattenedArray = _.flatten(nestedArray); // Вывод: [1, 2, [3, [4]]] |
1 2 |
const unionArray = _.union([1, 2, 3], [3, 4, 5]); // Вывод: [1, 2, 3, 4, 5] |
1 2 |
const intersectionArray = _.intersection([1, 2, 3], [3, 4, 5]); // Вывод: [3] |
1 2 |
const differenceArray = _.difference([1, 2, 3], [3, 4, 5]); // Вывод: [1, 2] |
1 2 |
const chunkedArray = _.chunk([1, 2, 3, 4, 5], 2); // Вывод: [[1, 2], [3, 4], [5]] |
1 2 |
const reversedArray = _.reverse([1, 2, 3, 4, 5]); // Вывод: [5, 4, 3, 2, 1] |
1 2 3 |
const deeplyNestedArray = [1, [2, [3, [4]]]]; const deeplyFlattenedArray = _.flattenDeep(deeplyNestedArray); // Вывод: [1, 2, 3, 4] |
1 2 |
const withoutArray = _.without([1, 2, 3, 4, 5], 3); // Вывод: [1, 2, 4, 5] |
1 2 3 |
const pullArray = [1, 2, 3, 4, 5]; _.pull(pullArray, 3, 5); // pullArray теперь [1, 2, 4] |
1 2 |
const nthElement = _.nth([1, 2, 3, 4, 5], 2); // Вывод: 3 |
1 2 |
const index = _.findIndex([1, 2, 3, 4, 5], num => num === 3); // Вывод: 2 |
1 2 |
const indexOfElement = _.indexOf([1, 2, 3, 4, 5], 3); // Вывод: 2 |
1 2 |
const lastElement = _.last([1, 2, 3, 4, 5]); // Вывод: 5 |
1 2 |
const takenElements = _.take([1, 2, 3, 4, 5], 3); // Вывод: [1, 2, 3] |
1 2 |
const initialElements = _.initial([1, 2, 3, 4, 5]); // Вывод: [1, 2, 3, 4] |
1 2 |
const compactedArray = _.compact([0, 1, false, 2, '', 3]); // Вывод: [1, 2, 3] |
1 2 |
const xorArray = _.xor([1, 2, 3], [2, 3, 4]); // Вывод: [1, 4] |
Работа с числами и математикой:
1 |
const randomNumber = _.random(1, 10); |
1 2 |
const average = _.mean([1, 2, 3, 4, 5]); // Вывод: 3 |
1 2 |
const maximum = _.max([1, 2, 3, 4, 5]); // Вывод: 5 |
1 2 |
const minimum = _.min([1, 2, 3, 4, 5]); // Вывод: 1 |
1 2 |
const total = _.sum([1, 2, 3, 4, 5]); // Вывод: 15 |
Работа с коллекциями и объектами:
1 2 |
const groupedByLength = _.groupBy(['one', 'two', 'three'], 'length'); // Вывод: { '3': ['one', 'two'], '5': ['three'] } |
1 2 |
const pickedObject = _.pick({ a: 1, b: 2, c: 3 }, ['a', 'c']); // Вывод: { a: 1, c: 3 } |
1 2 |
const omittedObject = _.omit({ a: 1, b: 2, c: 3 }, ['b']); // Вывод: { a: 1, c: 3 } |
1 2 |
const counts = _.countBy([1, 2, 3, 4, 5], num => (num % 2 === 0) ? 'even' : 'odd'); // Вывод: { odd: 3, even: 2 } |
Работа с индексами и порядком:
1 2 |
const sortedIndex = _.sortedIndex([30, 50], 40); // Вывод: 1 |
1 2 |
const sortedLastIndex = _.sortedLastIndex([4, 5, 5, 5, 6], 5); // Вывод: 4 |
1 2 |
const sortedUniqArray = _.sortedUniq([1, 1, 2, 2, 3, 3]); // Вывод: [1, 2, 3] |
1 2 |
const sortedLastIndexOf = _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); // Вывод: 3 |
1 2 |
const sortedIndexOf = _.sortedIndexOf([4, 5, 5, 5, 6], 5); // Вывод: 1 |
1 2 |
const sortedLastIndexBy = _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 5 }, 'x'); // Вывод: 2 |
1 2 |
const sortedIndexBy = _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 5 }, 'x'); // Вывод: 1 |
1 2 |
const sortedLastIndexOf = _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); // Вывод: 3 |
1 2 |
const sortedLastIndexBy = _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 5 }, 'x'); // Вывод: 2 |
Работа с логикой и условиями:
1 2 |
const isEmpty = _.isEmpty([]); // Вывод: true |
1 2 |
const isNil = _.isNil(null); // Вывод: true |
1 2 |
const isNull = _.isNull(null); // Вывод: true |
1 2 |
const isUndefined = _.isUndefined(undefined); // Вывод: true |
Работа с функциями и временем:
1 2 |
const debouncedFunction = _.debounce(() => console.log('Debounced'), 1000); debouncedFunction(); // Выполняется через 1 секунду |
1 2 |
const throttledFunction = _.throttle(() => console.log('Throttled'), 1000); throttledFunction(); // Выполняется не более одного раза в 1000 мс |
1 2 |
const memoizedFunction = _.memoize((a, b) => a + b); memoizedFunction(1, 2); // Вычисляет и запоминает результат |
1 2 |
_.defer(() => console.log('Deferred')); // Выполняется в следующем цикле событий |
1 2 |
_.delay(() => console.log('Delayed'), 1000); // Выполняется через 1 секунду |
Все функции этой прекрасной библиотеки ТУТ
Ваш комментарий будет первым