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

Effectuer un déplacement dans une chaîne en JavaScript

王林
Libérer: 2023-08-26 10:41:13
avant
1425 Les gens l'ont consulté

在 JavaScript 中执行字符串内的移位

Supposons que nous ayons une chaîne str contenant des lettres anglaises minuscules et un tableau arr, où arr[i] = [direction, montant] −

  • direction peut être 0 (décalage à gauche) ou 1 (décalage à droite).

  • amount est le montant dont la chaîne s doit être déplacée.

  • Décaler vers la gauche de 1 signifie supprimer le premier caractère de s et l'ajouter à la fin.

  • De même, décaler vers la droite de 1 signifie supprimer le premier caractère de s et l'ajouter à la fin. Supprimez le dernier caractère de s et ajoutez-le au début.

Nous devons écrire une fonction JavaScript qui accepte une chaîne comme premier paramètre et un tableau de données contenant shift comme deuxième paramètre.

La fonction doit parcourir le tableau et effectuer les changements nécessaires dans la chaîne et enfin renvoyer la nouvelle chaîne.

Par exemple -

Si la chaîne et le tableau d'entrée sont -

const str = 'abc';
const arr = [[0, 1], [1, 2]];
Copier après la connexion

alors la sortie devrait être -

const output = 'cab';
Copier après la connexion

car

[0,1] signifie déplacer 1 vers la gauche. "abc" -> "bca"

[1,2] signifie se déplacer vers la droite de 2. "bca" -> "cab"

Exemple

Le code est -

Démonstration en direct

const str = 'abc';
const arr = [[0, 1], [1, 2]];
const performShifts = (str = '', arr = []) => {
   if(str.length < 2){
      return str;
   };
   let right = 0
   let left = 0;
   for(let sub of arr){
      if(sub[0] == 0){
         left += sub[1];
      }else{
         right += sub[1];
      };
   };
   if(right === left){
      return str;
   }
   if(right > left){
      right = right - left;
      right = right % str.length;
      return str.substring(str.length - right) + str.substring(0,
      str.length - right);
   }else{
      left = left - right;
      left = left % str.length;
      return str.substring(left) + str.substring(0,left);
   };
};
console.log(performShifts(str, arr));
Copier après la connexion

Sortie

dans la console La sortie sera -

cab
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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!