Skip to content

Instantly share code, notes, and snippets.

View adamculpepper's full-sized avatar

Adam Culpepper adamculpepper

View GitHub Profile
@adamculpepper
adamculpepper / getUrlParam.js
Last active December 18, 2019 22:20
JavaScript: Get URL Parameters (simple)
//source: https://stackoverflow.com/a/5158301
function getUrlParam(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.href);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
//USAGE
//assumed url: http://example.com?page=3&sort=asc&perPage=20
getUrlParam('page');
getUrlParam('sort');
@adamculpepper
adamculpepper / arrayKeySort.js
Last active February 26, 2018 21:03
Sort a JavaScript array that has key values
Array.prototype.keySort = function(key, sort){
this.sort(function(a, b) {
if (sort == 'desc') {
var result = (a[key] < b[key]);
} else if (sort == 'asc') {
var result = (a[key] > b[key]);
}
return result ? 1 : -1;
});
return this;
@adamculpepper
adamculpepper / inject-javascript-file.js
Last active January 11, 2018 22:49
Injects JavaScript file into a page (not jQuery dependent)
// code from Stack Overflow, made into a function
// https://stackoverflow.com/a/10735151
function injectJSFile(fileURL) {
var script = document.createElement('script');
script.src=fileURL;
script.type='text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
injectJSFile('../assets/js/local-file.js'); // USAGE
@adamculpepper
adamculpepper / css-centering.css
Created January 25, 2018 17:09
CSS Helper Classes for Centering Things in CSS
.center-margin {margin:0 auto;}
.center-flex {display:flex; align-items:center; justify-content:center;}
.center-flex-hor {display:flex; justify-content:center;}
.center-flex-vert {display:flex; align-items:center;}
.center-transform {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);}
.center-transform-hor {position:absolute; left:50%; transform:translateX(-50%);}
.center-transform-vert {position:absolute; top:50%; transform:translateY(-50%);}
@adamculpepper
adamculpepper / removeDuplicatesFromArray.js
Last active February 26, 2018 21:16
JavaScript: Remove Duplicates From Array
var array = ['1', '1', '1', '2', '2', '3', '4', '4', '5', '5', '5'];
function removeDuplicatesFromArray(input) {
var output = input.filter(function(elem, pos, arr) {
return arr.indexOf(elem) == pos;
});
return output;
}
$("#output").text(removeDuplicatesFromArray(array)); // outputs: 1,2,3,4,5
@adamculpepper
adamculpepper / simpleNumericArraySort.js
Last active February 26, 2018 21:16
JavaScript: Simple Numeric Array Sort
var array = [11, 10, 1111, 22, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5];
function sortArray(input) {
var output = input.sort(function(a, b) {
return a - b;
});
return output;
}
$("#output").text(sortArray(array)); // 1,1,1,2,2,3,4,4,5,5,5,10,11,22,1111
@adamculpepper
adamculpepper / alphanumericArraySort.js
Created February 26, 2018 21:15
JavaScript: Alphanumeric Array Sort
var array = ['A1', 'B12', 'C3', 11, 10, 1111, 22, 1, 4, 3, 5, 2, 0.23, 0];
function sortArray(input) {
var output = input.sort(function(a, b) {
if (a === b) {
return 0;
}
if (typeof a === typeof b) {
return a < b ? -1 : 1;
}
@adamculpepper
adamculpepper / bootstrap-helpers.css
Last active March 31, 2019 02:53
Bootstrap 4 Helper CSS
/* Bootstrap 4 Helper CSS */
/* Add-on: Bootstrap 4, hidden-{breakpoint}-{up/down} */
/* taken from Bootstrap 4, alpha 6 */
.hidden-xs-up {display:none!important;}
@media (max-width:575px) { .hidden-xs-down {display:none!important;} }
@media (min-width:576px) { .hidden-sm-up {display:none!important;} }
@media (max-width:767px) { .hidden-sm-down {display:none!important;} }
@media (min-width:768px) { .hidden-md-up {display:none!important;} }
@media (max-width:991px) { .hidden-md-down {display:none!important;} }
var checkExist = setInterval(function() {
if ($('#element').length) {
console.log("Exists!");
clearInterval(checkExist);
}
}, 100); // check every 100ms
//source: https://stackoverflow.com/a/16149679
injectJSFile('../assets/js/script.js');
function injectJSFile(fileURL) {
var script = document.createElement('script');
script.src=fileURL;
script.type='text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}