Maison > interface Web > js tutoriel > Comment puis-je déplacer efficacement un élément dans un tableau JavaScript ?

Comment puis-je déplacer efficacement un élément dans un tableau JavaScript ?

Mary-Kate Olsen
Libérer: 2024-11-25 22:07:11
original
302 Les gens l'ont consulté

How Can I Efficiently Move an Element Within a JavaScript Array?

Déplacer des éléments dans un tableau

En programmation, il est souvent nécessaire de manipuler des tableaux en changeant les positions de leurs éléments. Une opération courante consiste à déplacer un élément d'une position du tableau à une autre.

Le défi

Considérez le tableau suivant :

var array = [ 'a', 'b', 'c', 'd', 'e'];
Copier après la connexion

La tâche consiste à écrire une fonction qui vous permet de déplacer n'importe quel élément du tableau vers un index spécifié. Par exemple, vous souhaiterez peut-être déplacer « d » à gauche de « b » ou « a » à droite de « c ».

La solution

Vous trouverez ci-dessous une fonction JavaScript qui résout ce problème défi :

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]);
}
Copier après la connexion

Utilisation

Pour déplacer un élément, appelez simplement la fonction array_move avec les arguments suivants :

  • arr : Le tableau que vous souhaitez modifier.
  • old_index : L'index actuel de l'élément que vous souhaitez modifier move.
  • new_index : L'index souhaité pour l'élément après son déplacement.

Par exemple, pour déplacer 'd' à gauche de 'b', vous appelleriez :

array_move(array, 3, 1);
Copier après la connexion

Cela donnerait le tableau suivant :

['a', 'd', 'b', 'c', 'e']
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal