Skip to content

Instantly share code, notes, and snippets.

@rafaphp
Forked from albertein/move.js
Created January 28, 2020 07:15
Show Gist options
  • Select an option

  • Save rafaphp/03a72cf9a3f413c0819aa3f48ca27db3 to your computer and use it in GitHub Desktop.

Select an option

Save rafaphp/03a72cf9a3f413c0819aa3f48ca27db3 to your computer and use it in GitHub Desktop.
Move an element frome an array up or down.
var move = function(array, element, delta) {
var index = array.indexOf(element);
var newIndex = index + delta;
if (newIndex < 0 || newIndex == array.length) return; //Already at the top or bottom.
var indexes = [index, newIndex].sort(); //Sort the indixes
array.splice(indexes[0], 2, array[indexes[1]], array[indexes[0]]); //Replace from lowest index, two elements, reverting the order
};
var moveUp = function(array, element) {
move(array, element, -1);
};
var moveDown = function(array, element) {
move(array, element, 1);
};
//Test
var array = [1, 2, 3, 4, 5];
moveUp(array, 4);
moveUp(array, 2);
moveDown(array, 5);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment