The functions that follow are fundamental to web development and javascript programming in general, simplifying tasks such as debugging using the old and new console.log(), manipulating the DOM, and handling JSON data.
Knowing and using these functions is like building the backbone of the fundamentals of this language.
Mastering these tools will also surely streamline the coding process resulting in a good developer experience.
TL;DR
Console and Debugging
-> console.log(...args)
Timing
-> setTimeout(callback, delay)
-> setInterval(callback, interval)
DOM Manipulation and Event Handling
-> querySelectorAll(selector)
-> addEventListener(event, callback)
JSON Handling
-> JSON.parse(jsonString)
-> JSON.stringify(object)
Array Manipulation (Higher-Order Functions)
-> forEach(callback)
-> map(callback)
-> filter(callback)
-> reduce(callback, initialValue)
Array Operations
-> slice(start, end)
-> splice(start, deleteCount, ...items)
-> indexOf(element)
-> includes(element)
-> sort(compareFunction)
-> reverse()
-> isArray(value)
String Manipulation
-> split(separator)
-> join(separator)
-> toLowerCase(), toUpperCase()
-> trim()
Console and Debugging:
0οΈβ£1οΈβ£ console.log(...args)
β Outputs messages or objects to the console for debugging purposes.
// console.log(...args)
console.log("Hello World!");
Timing:
0οΈβ£2οΈβ£ setTimeout(callback, delay)
β Executes a function after a specified delay in milliseconds.
0οΈβ£3οΈβ£ setInterval(callback, interval)
β Repeatedly executes a function at specified intervals.
// setTimeout(callback, delay)
setTimeout(function() {
console.log("This message will appear after 3 seconds.");
}, 3000);
// Runs the anonymous function after 3000 milliseconds (3 seconds)
// setInterval(callback, interval)
function printCounter() {
let count = 0;
setInterval(function() {
console.log("Count:", count++);
}, 1000);
}
printCounter(); // Prints count every second
DOM Manipulation and Event Handling:
0οΈβ£4οΈβ£ querySelectorAll(selector)
β Returns a NodeList containing all the elements that match the specified selector.
0οΈβ£5οΈβ£ addEventListener(event, callback)
β Attaches an event handler function to an HTML element.
// querySelectorAll(selector)
console.log("querySelectorAll(selector)");
const container = document.getElementById('container');
const links = container.querySelectorAll('a');
// Accessing the href attribute of each link
// Iterate over the NodeList
links.forEach(link => {
console.log(link.href);
});
// addEventListener(event, callback)
console.log("addEventListener(event, callback)");
const button = document.getElementById('myButton');
button.addEventListener('click', function() {
console.log('Button clicked!');
});
JSON Handling:
0οΈβ£6οΈβ£ JSON.parse(jsonString)
β Parses a JSON string and returns a JavaScript object.
0οΈβ£7οΈβ£ JSON.stringify(object)
β Converts a JavaScript object into a JSON string.
// JSON.parse(jsonString)
console.log("JSON.parse(jsonString)");
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name);
// Output: John
console.log(jsonObject.age);
// Output: 30
console.log(jsonObject.city);
// Output: New York
// JSON.stringify(object)
console.log("JSON.stringify(object)");
const person = { name: 'John', age: 30, city: 'New York' };
const jsonString2 = JSON.stringify(person);
console.log(jsonString2);
// Output: {"name":"John","age":30,"city":"New York"}
Array Manipulation (Higher-Order Functions):
0οΈβ£8οΈβ£ forEach(callback)
β Executes a provided function once for each array element.
0οΈβ£9οΈβ£ map(callback)
β Creates a new array with the results of calling a provided function on every element.
1οΈβ£0οΈβ£ filter(callback)
β Creates a new array with elements that satisfy a provided condition.
1οΈβ£1οΈβ£ reduce(callback, initialValue)
β Reduces an array to a single value by applying a function for each element.
const numbers = [1, 2, 3, 4, 5];
// forEach(callback)
console.log("forEach:");
numbers.forEach(num => {
console.log(num);
});
// Output:
// 1
// 2
// 3
// 4
// 5
// map(callback)
const doubledNumbers = numbers.map(num => num * 2);
// Output: [2, 4, 6, 8, 10]
// filter(callback)
const evenNumbers = numbers.filter(num => num % 2 === 0);
// [2, 4]
// reduce(callback, initialValue)
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
// 15
Array Operations:
1οΈβ£2οΈβ£ slice(start, end)
β Returns a shallow copy of a portion of an array between specified start and end indices.
1οΈβ£3οΈβ£ splice(start, deleteCount, ...items)
β Changes the array content by removing/replacing elements and/or adding new elements.
1οΈβ£4οΈβ£ indexOf(element)
β Returns the first index at which a given element can be found in the array, or -1 if not present.
1οΈβ£5οΈβ£ includes(element)
β Determines whether an array includes a certain element, returning true or false.
1οΈβ£6οΈβ£ sort(compareFunction)
β Sorts the elements of an array based on the provided function or default sorting order.
1οΈβ£7οΈβ£ reverse()
β Reverses the order of the elements in an array.
1οΈβ£8οΈβ£ isArray(value)
β Checks if a given value is an array, returning true or false.
// slice(start, end)
const array = [1, 2, 3, 4, 5];
const slicedArray = array.slice(1, 4);
console.log("slice:", slicedArray);
// Output: [2, 3, 4]
// splice(start, deleteCount, ...items)
const spliceArray = [1, 2, 3, 4, 5];
spliceArray.splice(2, 2, 'a', 'b');
console.log("splice:", spliceArray);
// Output: [1, 2, "a", "b", 5]
// indexOf(element)
const indexOfArray = ['apple', 'banana', 'cherry'];
const indexOfCherry = indexOfArray.indexOf('cherry');
console.log("indexOf:", indexOfCherry);
// Output: 2
// includes(element)
const includesArray = [1, 2, 3, 4, 5];
const includesValue = includesArray.includes(3);
console.log("includes:", includesValue);
// Output: true
// sort(compareFunction)
const sortArray = [3, 1, 4, 1, 5];
sortArray.sort((a, b) => a - b);
console.log("sort:", sortArray);
// Output: [1, 1, 3, 4, 5]
// reverse()
const reverseArray = ['a', 'b', 'c', 'd'];
reverseArray.reverse();
console.log("reverse:", reverseArray);
// Output: ['d', 'c', 'b', 'a']
// isArray(value)
const isArrayValue = [1, 2, 3];
const isArray = Array.isArray(isArrayValue);
console.log("isArray:", isArray);
// Output: true
String Manipulation:
1οΈβ£9οΈβ£ split(separator)
β Splits a string into an array of substrings based on a specified separator.
2οΈβ£0οΈβ£ join(separator)
β Joins all elements of an array into a string, separated by the specified separator.
2οΈβ£1οΈβ£ toLowerCase(), toUpperCase()
β Converts a string to lowercase or uppercase.
2οΈβ£2οΈβ£ trim()
β Removes whitespace from both ends of a string.
// split(separator)
const sentence = "Hello, world! How are you?";
const words = sentence.split(' ');
console.log("split:", words);
// Output: ["Hello,", "world!", "How", "are", "you?"]
// join(separator)
const fruits = ['Apple', 'Banana', 'Orange'];
const fruitString = fruits.join(', ');
console.log("join:", fruitString);
// Output: "Apple, Banana, Orange"
// toLowerCase(), toUpperCase()
const mixedCase = "Hello WoRLd";
const lowerCase = mixedCase.toLowerCase();
const upperCase = mixedCase.toUpperCase();
console.log("toLowerCase:", lowerCase);
// Output: "hello world"
console.log("toUpperCase:", upperCase);
// Output: "HELLO WORLD"
// trim()
const stringWithWhitespace = " Hello, world! ";
const trimmedString = stringWithWhitespace.trim();
console.log("trim:", trimmedString);
// Output: "Hello, world!"
π Final Thoughts
As we wrap up our discussion the above functions, I ask you to share your insights.
What other functions do you find all necessary in your web development or mainly JavaScript projects?
Don't hesitate to share your thoughts and useful functions in the comments below!
I hope you liked the article! β€οΈ
Connect with me: Linktree.
Happy Coding! π
Thanks for 22097! π€
Top comments (20)
I don't know how much I'm like your "average" JS developer since it's not a main part of my job.
As a single data point, while I use most of these, I never (or almost never) use these:
Of all of these, the only thing I don't use a lot is
reverse
, though it appears in my code in several places. I think you end up with these more often when you use JS on the front and back end.The one I use a ton and isn't here is
flat
and occasionallyflatMap
.I was going to post basically the same list. :)
Agree! These are simple functions that make the development easier but yes, few of them are not really useful, it really depends from dev to dev.
Thanks for the comment!
I'm missing String.prototype.replace. Regular expressions are regularly helpful, especially with a replacer function.
Yeah! I'll make sure I add them in the second part, Thanks!
It's a pleasure to read you
Thanks for the comment, Patrick! I appreciate those kind words.
Nice cheat sheet. Thanks for taking the time and posting this
Welcome!
it seems l had forgotten to use splice(), thank you for posting,
My pleasure!
very useful information Thank you very much for this article
I'm glad you liked it!
Thanks for this. These functions are helpful.
My pleasure!
Awesome! Thank you! Good work
I'm glad it was helpful!
Solid list ππ»
I was expecting to see at least 1 that I had never used before, but I use all of these fairly frequently.
Of course, you'll use them 99% of the time. By the way, thanks for the insight, I'll make sure to include some interesting ones in my coming posts!
Thanks!