Skip to content

Instantly share code, notes, and snippets.

@amcmillan01
amcmillan01 / convert_number_sequence_to_range.js
Last active June 18, 2016 00:33
Convert sequence of numbers in an array to range of numbers
/**
* convert sequence of numbers in an array to range of numbers
* @param {Array} arr
* @return {Array}
* @example
* var arrayOfNumbers = [ 2, 3, 4, 5, 475, 476, 477, 478, 479, 6, 8, 9, 10, 400, 480 ];
* var result = convert_number_sequence_to_range(arrayOfNumbers); // => [ '2-6', '8-10', '400', '475-480' ]
*/
var convert_number_sequence_to_range = function(arr) {
var sortedArr = arr.sort(function(a, b) {
@amcmillan01
amcmillan01 / eachify.js
Last active October 20, 2015 00:20
adds a `each` method to a data collection that's use for iteration over the data (array or objects)
/**
* adds a `each` method to a data collection that's use for iteration over the data (array or objects)
* @param {array|object} collection
* @example
* var c = eachify(['a', 'b', 'c']);
* c.each(function(item, i) {
* console.log('index=' + i, 'value=' + item);
* });
*
* @example
@amcmillan01
amcmillan01 / dotNotationToObject.js
Last active September 23, 2015 05:05
converts a dot notation string into an object
function dotNotationToObject (str) {
var obj = {};
var prev = null;
str.split('.').forEach(function(prop){
//console.log('prop', prop);
if(prev) {
//console.log('prev', prev);
//obj = prev;
prev[prop] = {};
@amcmillan01
amcmillan01 / manifest_template.json
Created November 27, 2014 03:33
chrome extension manifest
{
"name": "AppName",
"description": "",
"version": "0.0.1",
"manifest_version": 2,
"icons": {
"48": "logo_enable.png"
},
"permissions": [
"tabs",