This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var date = new Date(); | |
var months = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; | |
console.log("The current month is " + months[date.getMonth()]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function timeAgo(time){ | |
var units = [ | |
{ name: "second", limit: 60, in_seconds: 1 }, | |
{ name: "minute", limit: 3600, in_seconds: 60 }, | |
{ name: "hour", limit: 86400, in_seconds: 3600 }, | |
{ name: "day", limit: 604800, in_seconds: 86400 }, | |
{ name: "week", limit: 2629743, in_seconds: 604800 }, | |
{ name: "month", limit: 31556926, in_seconds: 2629743 }, | |
{ name: "year", limit: null, in_seconds: 31556926 } | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getRandom(arr, n) { | |
var result = new Array(n), | |
len = arr.length, | |
taken = new Array(len); | |
if (n > len) | |
throw new RangeError("getRandom: more elements taken than available"); | |
while (n--) { | |
var x = Math.floor(Math.random() * len); | |
result[n] = arr[x in taken ? taken[x] : x]; | |
taken[x] = --len in taken ? taken[len] : len; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Based on https://stackoverflow.com/a/46880431/607608 | |
function getComb(set, val) { | |
const res = []; | |
function comb(set, k, partial, pref) { | |
if (!partial) partial = []; | |
for (const element in set) { | |
if (k > 1) { | |
const set_copy = set.slice(); | |
set_copy.splice(element, 1); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Based on https://stackoverflow.com/a/42531964 | |
function combinations(array, length) { | |
const arr = new Array(1 << array.length).fill().map( | |
(e1, i) => array.filter((e2, j) => i & 1 << j)); | |
return length ? arr.filter(a => a.length == length) : arr; | |
} | |
//console.log(combinations([1, 2, 3, 8, 10], 2)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const factorial = (n) => (Array.from(Array(n), (_, i) => i + 1)).reduce((a, b) => a * b); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const arr = [ [ '8', '0', '5', '7', '9' ], [ '1', '2', '4' ] ] | |
const output = arr.reduce((a, b) => { | |
let ret = []; | |
a.forEach(i => b.forEach(j => ret.push(i + j))); | |
return ret; | |
}); | |
// output = [ '81', '82', '84', '01', '02', '04', '51', '52', '54', '71', '72', '74', '91', '92', '94' ]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function isPrime(num) { | |
if (num > 2 && num % 2 === 0) return false; | |
for (var i = 3; i < Math.sqrt(num); i += 2) { | |
if (num % i === 0) return false; | |
} | |
return num > 1; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
String.prototype.mySubstring = function(start, end) { | |
let substr = ''; | |
for (i = (start || 0); i <= ((end || this.length) - 1); i++) { | |
substr += this[i]; | |
} | |
return substr; | |
} | |
console.log("hello world!".mySubstring(1, 5)); // => ello |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const random = (i,j) => (Math.floor(Math.random() * (j - i)) + i); |
OlderNewer