Angelos Chalaris 0893f79360 Fibonacci and random
2017-11-30 19:45:56 +02:00
2017-11-30 19:16:34 +02:00
2017-11-30 19:45:56 +02:00
2017-11-30 19:12:13 +02:00
2017-11-30 17:40:06 +02:00
2017-11-29 19:35:03 +02:00
2017-11-30 17:40:06 +02:00
2017-11-30 18:29:02 +02:00
2017-11-30 17:40:06 +02:00
2017-11-30 19:45:56 +02:00
2017-11-30 17:40:06 +02:00

Logo

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

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.

Languages
JavaScript 100%