Maison > interface Web > js tutoriel > le corps du texte

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
168 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!

source:php.cn
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