Posted on

# JavaScript Functions to Simplify Your Code | 20+ JavaScript Functions | JavaScript Tutorial

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

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

Function expression

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

Arrow function

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

Generator function

``````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

``````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

``````const range = (n, step = 1) => Array.from({ length: n }, (_, i) => i * step);
console.log(range(10, 2)); // [1, 3, 5, 7, 9]
``````

Create an array and fill it with a value

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

Shuffling an array

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

Remove Duplicated from Array

``````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

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

Find largest numbers

``````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

``````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

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

Convert array to object

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

Find the intersection of two arrays

``````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

``````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

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

Is String Palindrome

``````const isPalindrome = (str) => str === str.split("").reverse().join("");
``````

Check if the object is empty or not

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

Find the number of days in a month

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

Generate a random color

``````const getRandomColor = () =>
`#\${Math.floor(Math.random() * 16777215).toString(16)}`;
console.log(getRandomColor()); // #f0f0f0

// OR
const randomHex = () =>
`#\${Math.floor(Math.random() * 0xffffff)
.toString(16)
console.log(randomHex()); // #f0f0f0
``````

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

Axorax

This is my first time seeing `function*`