DeveloperBreeze

JavaScript Utility Libraries Cheatsheet

Introduction

JavaScript utility libraries are essential tools that help developers perform common tasks more efficiently, reduce boilerplate code, and improve code readability. These libraries offer a wide range of utility functions for tasks such as array manipulation, object handling, data transformation, and more. This cheatsheet provides a quick reference to some of the most popular JavaScript utility libraries and their key features.

1. Lodash

Lodash is one of the most popular JavaScript utility libraries, offering a wide range of functions for common programming tasks such as working with arrays, objects, and strings.

<table>
  <tr>
    <th>Function</th>
    <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><code>_.chunk(array, size)
    Splits an array into groups of the specified size.
    _.chunk(['a', 'b', 'c', 'd'], 2) => [['a', 'b'], ['c', 'd']]
  
  
    _.debounce(func, wait)
    Creates a debounced function that delays invoking the provided function until after the specified wait time.
    _.debounce(() => console.log('Hello'), 1000)
  
  
    _.cloneDeep(value)
    Creates a deep clone of the provided value.
    _.cloneDeep({ a: 1, b: { c: 2 } }) => { a: 1, b: { c: 2 } }
  
  
    _.merge(object, sources)
    Merges two or more objects into one, combining their properties.
    _.merge({ a: 1 }, { b: 2 }) => { a: 1, b: 2 }
  
  
    _.uniq(array)
    Creates a duplicate-free version of an array.
    _.uniq([1, 2, 2, 3, 4, 4]) => [1, 2, 3, 4]
  

2. Underscore.js

Underscore.js is a lightweight utility library similar to Lodash, providing useful functions for working with arrays, objects, and other data types.

<table>
  <tr>
    <th>Function</th>
    <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><code>_.each(list, iteratee)
    Iterates over a list, invoking the iteratee for each element.
    _.each([1, 2, 3], alert)
  
  
    _.map(list, iteratee)
    Creates a new array by applying the iteratee to each element in the list.
    _.map([1, 2, 3], num => num * 3) => [3, 6, 9]
  
  
    _.reduce(list, iteratee, memo)
    Reduces a list to a single value by iterating and combining elements.
    _.reduce([1, 2, 3], (sum, num) => sum + num, 0) => 6
  
  
    _.filter(list, predicate)
    Returns an array of elements that pass a truth test.
    _.filter([1, 2, 3, 4], num => num % 2 == 0) => [2, 4]
  
  
    _.findWhere(list, properties)
    Returns the first element that matches the specified properties.
    _.findWhere([{a: 1}, {a: 2}], {a: 2}) => {a: 2}
  

3. Moment.js

Moment.js is a popular library for parsing, validating, manipulating, and formatting dates in JavaScript.

<table>
  <tr>
    <th>Function</th>
    <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><code>moment().format(formatString)
    Formats a date as a string according to the specified format.
    moment().format('MMMM Do YYYY, h:mm:ss a') => September 20th 2024, 3:45:07 pm
  
  
    moment().add(number, unit)
    Adds a specified amount of time to a date.
    moment().add(7, 'days') => Moment object 7 days in the future
  
  
    moment().subtract(number, unit)
    Subtracts a specified amount of time from a date.
    moment().subtract(1, 'year') => Moment object 1 year ago
  
  
    moment().fromNow()
    Displays the time from now in a human-readable format.
    moment('2020-01-01').fromNow() => 3 years ago
  
  
    moment().diff(moment, unit)
    Calculates the difference between two dates.
    moment().diff(moment('2000-01-01'), 'years') => 24
  

4. Ramda

Ramda is a functional programming library for JavaScript developers, designed for better code composition and function handling.

<table>
  <tr>
    <th>Function</th>
    <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><code>R.compose(...functions)
    Composes functions from right to left.
    R.compose(Math.abs, R.add(1))(-5) => 4
  
  
    R.curry(fn)
    Returns a curried version of the provided function.
    R.curry((a, b) => a + b)(1)(2) => 3
  
  
    R.filter(predicate, list)
    Returns a new list containing only the elements that satisfy the predicate.
    R.filter(x => x % 2 === 0, [1, 2, 3, 4]) => [2, 4]
  
  
    R.map(fn, list)
    Applies the function to each element of the list.
    R.map(x => x * 2, [1, 2, 3]) => [2, 4, 6]
  
  
    R.reduce(reducer, initialValue, list)
    Reduces the list to a single value using the reducer function.
    R.reduce(R.add, 0, [1, 2, 3]) => 6
  

5. Date-fns

Date-fns is a modern JavaScript date utility library that provides over 200 functions for manipulating dates without modifying native JavaScript objects.

<table>
  <tr>
    <th>Function</th>


 <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><code>format(date, formatString)
    Formats the date according to the provided format string.
    format(new Date(), 'MMMM do, yyyy') => 'September 20th, 2024'
  
  
    addDays(date, amount)
    Returns a new date with the specified number of days added.
    addDays(new Date(), 10) => Date object 10 days in the future
  
  
    differenceInDays(dateLeft, dateRight)
    Returns the number of days between two dates.
    differenceInDays(new Date('2024-09-20'), new Date('2024-09-10')) => 10
  
  
    isBefore(date, dateToCompare)
    Checks if the first date is before the second one.
    isBefore(new Date('2024-09-10'), new Date('2024-09-20')) => true
  
  
    parse(dateString, formatString, referenceDate)
    Parses a date string according to the provided format string.
    parse('20th September 2024', 'do MMMM yyyy', new Date()) => Date object for 20th September 2024
  

Conclusion

This cheatsheet covers some of the most popular JavaScript utility libraries, providing a quick reference to key functions and their usage. These libraries help streamline your development process, reduce code duplication, and enhance the functionality of your JavaScript applications.

Related Posts

More content you might like

Tutorial
javascript

Non-Primitive Data Types (Objects, Arrays, and Functions)

  const multiply = (a, b) => a * b;
  console.log(multiply(4, 7)); // 28
  • Primitives hold a single value and are immutable.
  • Non-primitives hold collections or behaviors and are mutable.

Dec 11, 2024
Read More
Tutorial
javascript

JavaScript in Modern Web Development

  • Libraries like Three.js and Babylon.js enable building browser-based games.
  • Example: Interactive 3D experiences.

JavaScript continues to evolve with yearly updates. Features like async/await, optional chaining, and tools like TypeScript are shaping the future of web development.

Dec 10, 2024
Read More
Tutorial
javascript

Advanced JavaScript Tutorial for Experienced Developers

Here, a POST request is made to send JSON data to the server. The Content-Type header is set to application/json to indicate the type of data being sent.

The Fetch API does not automatically reject a promise when it receives an HTTP error status (e.g., 404 or 500). Instead, you need to check the ok property of the response to determine if the request was successful.

Sep 02, 2024
Read More
Tutorial
javascript

JavaScript Tutorial for Absolute Beginners

let name = "Alice";
const age = 25;
var isStudent = true;

console.log(name, age, isStudent);
  • let is used for variables that can be reassigned.
  • const is for variables that should not be reassigned.
  • var is an older way of declaring variables and is generally not recommended for new code.

Sep 02, 2024
Read More

Discussion 0

Please sign in to join the discussion.

No comments yet. Be the first to share your thoughts!