¿Cómo mover un elemento de array de una posición de array a otra en JavaScript?

En JavaScript podemos acceder a un elemento de array como otros lenguajes de programación como C, C++, Java, etc. También hay un método llamado splice() en JavaScript, mediante el cual una array puede eliminarse o reemplazarse por otro elemento para un índice. Entonces, para mover un elemento de array de una posición de array a otra, podemos usar el método splice() o simplemente podemos usar la indexación de array ([]). 
 

Ejemplo: código simple para mover un elemento de array de una posición de array a otra, sin usar ninguna función. 

javascript

<script>
 
var arr = ["C++", "Java", "JS", "Python"];
 
document.write("Original array: "+arr+"<br>");
 
    // Position where from the element is
    // going to move here 'python' is moved
    var x = 3;
     
    // Position at which element is to be
    // moved here 'python' is moved to 
    // index 1 which is index of 'Java'
    var pos = 1;
 
    // Store the moved element in a temp
    // variable
    var temp = arr[x];
     
    // shift elements forward
    var i;
    for (i = x; i >= pos; i--)
        {
            arr[i] = arr[i - 1];
        }
     
    // Insert moved element at position 
    arr[pos] = temp;
 
document.write("<br>After move: "+arr+"<br>");
 
</script>

Producción : 

Original array: C++,Java,JS,Python

After move: C++,Python,Java,JS

Ejemplo: ahora mueva un elemento de array de una posición de array a otra usando funciones, 

javascript

<script>
    var arr = ["C++ ", "Java ", "JS ",
               "Ruby ", "Python "];
 
    //     Print the array before moving
    document.write("Original array: "+arr+"<br>");
 
    // Position where from the element is
    // going to move here 'Ruby' is moved
    var moveEle = 3;
 
    // Position at which element is to be moved
    // here 'Ruby' is moved to  index 1 which is
    // index of 'Java'
    var moveToIndx = 1;
 
    // If actual index of moved element is
    // less than 0 when 'moveEle += array size'
    while (moveEle < 0)
    {
        moveEle += arr.length;
    }
 
    // Where the element to be moved f that
    // index is less than 0 when
    // 'moveToIndx += array size'
    while (moveToIndx < 0)
    {
        moveToIndx = moveToIndx + arr.length;
    }
 
    // If 'moveToIndx' is greater than the
    // size of the array then with need to
    // push 'undefined' in the array.
    if (moveToIndx >= arr.length)
    {
        var un = moveToIndx - arr.length + 1;
        while (un--)
        {
            arr.push(undefined);
 
        }
    }
    // Here element of 'moveEle' is removed and
    // pushed at 'moveToIndx' index
    arr.splice(moveToIndx, 0, arr.splice(moveEle, 1));
     
     
    // Print the array after moving
    document.write("<br>After move: "+arr+"<br>");
</script>

Producción :

Original array: C++ ,Java ,JS ,Ruby ,Python

After move: C++ ,Ruby ,Java ,JS ,Python

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *