JavaScript is a functional programming language, and functions play a crucial role. They allow you to encapsulate reusable code and perform specific tasks. Here are some quick examples of functions that can make your life easier.

Regular function

JavaScript
function sum(a, b) {
  return a + b;
}

Function expression

JavaScript
const sum = function (a, b) {
  return a + b;
};

Arrow function

JavaScript
const sum = (a, b) => {
  return a + b;
};
// OR
const sum = (a, b) => a + b;

Generator function

JavaScript
function* indexGenerator() {
  let index = 0;
  while (true) {
    yield index++;
  }
}
const g = indexGenerator();
console.log(g.next().value); // => 0
console.log(g.next().value); // => 1

Create an array of numbers from 1 to n.

JavaScript
const range = (n) => 
  Array.from({ length: n }, (_, i) => i + 1);
console.log(range(10)); 
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Create an array of numbers from 1 to n with a step.

JavaScript
const range = (n, step = 1) => 
  Array.from({ length: n }, (_, i) => i * step);
console.log(range(10, 2)); // [0, 2, 4, 6, 8]

Create an array and fill it with a value.

JavaScript
const fill = (len, value) => Array(len).fill(value);
console.log(fill(3, 0)); // [0, 0, 0]

Shuffling an array

JavaScript
const shuffleArray = (arr) => arr.sort(() => 0.5 - Math.random());
console.log(shuffleArray([1, 2, 3, 4])); // [3, 2, 1, 4]

Remove Duplicated from Array

JavaScript
const removeDuplicated = (arr) => [...new Set(arr)];
console.log(removeDuplicated([1, 2, 3, 3, 4, 4, 5, 5, 6])); 
// Result: [1, 2, 3, 4, 5, 6]
// OR
const removeDuplicate = (arr) =>
  Object.values(
    arr.reduce((a, b) => (a[b] ? a : { ...a, [b]: b }), {})
  );
console.log(removeDuplicate([1, 2, 3, 3])); 
// Result: [1, 2, 3]

Generate random number

JavaScript
const random = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
console.log(random(1, 10)); // Result: 1 ~ 10

Find largest numbers

JavaScript
const findLargest = (arr) =>
  arr.map((subArr) => Math.max(...subArr));
console.log(
  findLargest([
    [4, 5, 1, 3],
    [13, 27, 18, 26],
    [32, 35, 37, 39],
    [1000, 1001, 857, 1],
  ])
); // [5, 27, 39, 1001]

Find smallest numbers

JavaScript
const findSmallest = (arr) =>
  arr.map((subArr) => Math.min(...subArr));
console.log(
  findSmallest([
    [4, 5, 1, 3],
    [13, 27, 18, 26],
    [32, 35, 37, 39],
    [1000, 1001, 857, 1],
  ])
); // [1, 18, 32, 857]

Pick a random element from an array.

JavaScript
const pick = (arr) => arr[Math.floor(Math.random() * arr.length)];
console.log(pick([1, 2, 3, 4])); // 2

Convert array to object

JavaScript
const toObject = (arr) => ({ ...arr });
console.log(toObject(["a", "b"])); // { 0: 'a', 1: 'b' }

Find the intersection of two arrays.

JavaScript
const intersection = (arr1, arr2) => {
  const set = new Set(arr1);
  return arr2.filter((x) => set.has(x));
};
console.log(intersection([1, 2, 3], [2, 3, 4])); // [2, 3]

Remove falsy values from an array.

JavaScript
const compact = (arr) => arr.filter(Boolean);
console.log(compact([0, 1, false, 2, "", 3, "a", "e" * 23, NaN, "s", 34])); // [1, 2, 3, 'a', 's', 34]

Reverse String

JavaScript
const reverseString = (str) => str.split("").reverse().join("");
console.log(reverseString("hello")); // olleh

Is String Palindrome

JavaScript
const isPalindrome = (str) => str === str.split("").reverse().join("");
console.log(isPalindrome("madam")); // true

Check if the object is empty or not.

JavaScript
const isEmpty = (obj) => Object.keys(obj).length === 0;
console.log(isEmpty({})); // true

Find the number of days in a month.

JavaScript
const getDaysInMonth = (date) =>
  new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
console.log(getDaysInMonth(new Date())); // 31

Generate a random color

JavaScript
const getRandomColor = () =>
  `#${Math.floor(Math.random() * 16777215).toString(16)}`;
console.log(getRandomColor()); // #f0f0f0
// OR
const randomHex = () =>
  `#${Math.floor(Math.random() * 0xffffff)
    .toString(16)
    .padEnd(6, "0")}`;
console.log(randomHex()); // #f0f0f0

Check out the Javascript Quick Functions GitHub repo for more functions like this.