Number Runs
by Chase Wilson
JavaScript
extractRun = (runs) => {
let previous, start = runs[0], end;
for (i = 0; i < runs.length; i++) {
if (!previous) {
previous = runs[i];
start = previous;
continue;
}
if ( (previous + 1) == runs[i]) {
previous = runs[i]
end = previous;
}
}
return [end?`${start}:${end}`:start, i];
}
function stringifyNumberRuns ( arrOfNumbers ) {
let [run, i] = extractRun(arrOfNumbers);
}
console.log( stringifyNumberRuns([1]) ) //=> '1'
console.log( stringifyNumberRuns([1, 3]) )//=> '1,3'
console.log( stringifyNumberRuns([1, 2]) )//=> '1:2'
console.log( stringifyNumberRuns([1, 2, 3]) )//=> '1:3'
console.log( stringifyNumberRuns([0, 2, 3, 4, 6, 7, 9]) )//=> '0,2:4,6:7,9'