Moving Elements Within an Array
In programming, it's often necessary to manipulate arrays by changing the positions of their elements. One common operation is moving an element from one array position to another.
The Challenge
Consider the following array:
var array = [ 'a', 'b', 'c', 'd', 'e'];
The task is to write a function that allows you to move any element of the array to a specified index. For example, you may want to move 'd' to the left of 'b' or 'a' to the right of 'c'.
The Solution
Below is a JavaScript function that tackles this challenge:
function array_move(arr, old_index, new_index) { if (new_index >= arr.length) { var k = new_index - arr.length + 1; while (k--) { arr.push(undefined); } } arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); }
Usage
To move an element, simply call the array_move function with the following arguments:
For example, to move 'd' to the left of 'b', you would call:
array_move(array, 3, 1);
This would result in the following array:
['a', 'd', 'b', 'c', 'e']
The above is the detailed content of How Can I Efficiently Move an Element Within a JavaScript Array?. For more information, please follow other related articles on the PHP Chinese website!