Javascript snippets for you - #3
Welcome to the 3rd edition of essential JS snippets.
Abhiraj Bhowmick
Hello friends!
Hope you all are doing great.
Welcome back to my series of posts where I give 10 JS snippets every week amounting over to 50 essential JS snippets
1️⃣ average
This snippet returns the average of two or more numerical values.
average(...[1, 2, 3]); // 2
average(1, 2, 3); // 2
2️⃣ averageBy
This snippet returns the average of an array after initially doing the mapping of each element to a value using a given function.
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => acc + val, 0) /
arr.length;
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], o => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], 'n'); // 5
3️⃣ capitalizeEveryWord
This snippet capitalizes the first letter of every word in a given string.
capitalizeEveryWord('hello world!'); // 'Hello World!'
4️⃣ Create Directory
This snippet uses existsSync() to check whether a directory exists and then mkdirSync() to create it if it doesn’t.
const createDirIfNotExists = dir => (!fs.existsSync(dir) ? fs.mkdirSync(dir) : undefined);
createDirIfNotExists('test');
// creates the directory 'test', if it doesn't exist
5️⃣ deepFlatten
This snippet flattens an array recursively.
deepFlatten([1, [2], [[3], 4], 5]); // [1,2,3,4,5]
6️⃣ difference
This snippet finds the difference between two arrays.
const s = new Set(b);
return a.filter(x => !s.has(x));
};
difference([1, 2, 3], [1, 2, 4]); // [3]
7️⃣ differenceBy
This method returns the difference between two arrays, after applying a given function to each element of both lists.
const s = new Set(b.map(fn));
return a.filter(x => !s.has(fn(x)));
};
differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [1.2]
differenceBy([{ x: 2 }, { x: 1 }], [{ x: 1 }], v => v.x); // [ { x: 2 } ]
8️⃣ differenceWith
This snippet removes the values for which the comparator function returns false.
differenceWith([1, 1.2, 1.5, 3, 0], [1.9, 3, 0], (a, b) => Math.round(a) === Math.round(b));
// [1, 1.2]
9️⃣ digitize
This snippet gets a number as input and returns an array of its digits.
digitize(431); // [4, 3, 1]
🔟 distance
This snippet returns the distance between two points by calculating the Euclidean distance.
distance(1, 1, 2, 3); // 2.23606797749979
Thank you for reading. Hope this has been of some help to you.
Subscribe to my newsletter to never miss out on such posts and many other tech news and product launches.
Until next time,
Abhiraj
Upvote
Abhiraj Bhowmick
I make stuff on the web and write blogs about it.

Related Articles