Skip to content

Instantly share code, notes, and snippets.

@dodeja
Created October 11, 2012 22:13
Show Gist options
  • Save dodeja/3875861 to your computer and use it in GitHub Desktop.
Save dodeja/3875861 to your computer and use it in GitHub Desktop.
function addr(arr, v, n) {
var steps = n === 0 ? arr.length-1 : Math.abs(n);
var step = n < 0 ? -1 : 1;
var i = n < 0 ? arr.length-1 : 0;
var count = arr.length-1;
while(count > 0 && steps > 0) {
console.log(arr[i])
if(arr[i] === v) {
arr[i]++;
steps--;
}
count--;
i += step;
}
return arr;
}
addr([1,2,4,1,1,5], 1, 0)
addr([1,2,4,1,1,5], 1, 2)
addr([1,2,4,1,1,5], 1, -2)
// delete items from array (LREM)
function addr(arr, v, n) {
var steps = n === 0 ? arr.length-1 : Math.abs(n);
var step = n < 0 ? -1 : 1;
var i = n < 0 ? arr.length-1 : 0;
var count = arr.length-1;
while(count > 0 && steps > 0) {
console.log(arr[i])
if(arr[i] === v) {
delete arr[i];
steps--;
}
count--;
i += step;
}
return arr.filter(function(){return true});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment