30 seconds of code
Curated collection of useful Javascript snippets that you can understand in 30 seconds or less.
- Use Ctrl + F or command + F to search for a snippet.
- Contributions welcome, please read contribution guide.
Contents
- Even or odd number
- Fibonacci array generator
- Greatest common divisor (GCD)
- Random number in range
- Randomize order of array
- RGB to hexadecimal
- Sort characters in string alphabetical
- Sum of array of numbers
- Unique values of array
Even or odd number
Use Math.abs() to extend logic to negative numbers, check using the modulo (%) operator.
Return true if the number is even, false if the number is odd.
var isEven = num => Math.abs(num) % 2 === 0;
Fibonacci array generator
Create an empty array of the specific length, initializing the first two values (0 and 1).
Use reduce() to add values into the array, using the sum of the last two values, except for the first two.
var fibonacci = n =>
Array.apply(null, [0,1].concat(Array(n-2))).reduce(
(acc, val, i) => {
acc.push( i>1 ? acc[i-1]+acc[i-2] : val);
return acc;
},[]);
Greatest common divisor (GCD)
Use recursion.
Base case is when y equals 0. In this case, return x.
Otherwise, return the GCD of y and the remainder of the division x/y.
var gcd = (x , y) => !y ? x : gcd(y, x % y);
Random number in range
Use Math.random() to generate a random value, map it to the desired range using multiplication.
var randomInRange = (min, max) => Math.random() * (max - min) + min;
Randomize order of array
Use sort() to reorder elements, utilizing Math.random() to randomize the sorting.
var randomizeOrder = arr => arr.sort( (a,b) => Math.random() >= 0.5 ? -1 : 1)
RGB to hexadecimal
Convert each value to a hexadecimal string, using toString(16), then padStart(2,'0') to get a 2-digit hexadecimal value.
Combine values using join('').
var rgbToHex = (r, g, b) =>
[r.toString(16).padStart(2,'0') , g.toString(16).padStart(2,'0') , b.toString(16).padStart(2,'0')].join('');
Sort characters in string (alphabetical)
Split the string using split(''), sort() utilizing localeCompare(), recombine using join('').
var sortCharactersInString = str =>
str.split('').sort( (a,b) => a.localeCompare(b) ).join('');
Sum of array of numbers
Use reduce() to add each value to an accumulator, initialized with a value of 0.
var sum = arr =>
arr.reduce( (acc , val) => acc + val, 0);
Unique values of array
Use reduce() to accumulate all unique values in an array.
Check if each value has already been added, using indexOf() on the accumulator array.
var uniqueValues = arr =>
arr.reduce( (acc, val) => {
if(acc.indexOf(val) === -1)
acc.push(val);
return acc;
}, []);
Credits
Icons made by Smashicons from www.flaticon.com is licensed by CC 3.0 BY.
