Skip to content

Instantly share code, notes, and snippets.

View MikeDigitize's full-sized avatar
👋
Howdy

Mike Chadwick MikeDigitize

👋
Howdy
View GitHub Profile
@MikeDigitize
MikeDigitize / Write a Promise based API to wrap round setTimeout
Last active September 2, 2016 23:08
Some coding challenges for the AO front end team who are learning JavaScript
var Timer = wait => new Promise(resolve => setTimeout(resolve, wait));
Timer(2000).then(() => console.log('done'));
@MikeDigitize
MikeDigitize / Sum calculator
Created January 3, 2016 19:58
Some coding challenges for the AO front end team who are learning JavaScript
// write a function that returns the sum of two numbers
// then modify it to...
// return the sum of three numbers
// then the first argument is an array of numbers
// then the first argument may or may not be an array
// then there are an unknown amount of numbers and arrays passed in
function add(...nums) {
return nums.reduce((a,b) => a.concat(b), []).reduce((a,b) => a+b, 0);
}
<button id="btn">Click Me</button>
<select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
<button id="select">Select</button>
export function scrollToElement(scrollAmount = 20) {
let findPos = (el, elPos = 0) => {
if (el.offsetParent) {
do {
elPos += el.offsetTop;
} while (el = el.offsetParent);
}
return elPos;
};
@MikeDigitize
MikeDigitize / gist:f3c6354b0ac8379fc19f
Last active August 29, 2015 14:15
Get the amount of days, weeks, months, years between dates with JavaScript (IE7+)
var $date = function() {
function getDaysInMonths(m, y) {
return /8|3|5|10/.test(--m) ? 30 : m == 1 ? (!(y % 4) && y % 100) || !(y % 400) ? 29 : 28 : 31;
}
function isLeapYear(y) {
return getDaysInMonths(2, y) === 29;
}