Rumah  >  Artikel  >  hujung hadapan web  >  Lakukan peralihan dalam rentetan dalam JavaScript

Lakukan peralihan dalam rentetan dalam JavaScript

王林
王林ke hadapan
2023-08-26 10:41:131448semak imbas

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

Andaikan kita mempunyai str rentetan yang mengandungi huruf Inggeris huruf kecil dan arr tatasusunan, dengan arr[i] = [arah, jumlah] −

  • arah boleh menjadi 0 (anjakan ke kiri) atau 1 (anjakan ke kanan ).

  • jumlah ialah amaun rentetan s hendak dialihkan.

  • Menukar ke kiri dengan 1 bermakna mengalih keluar aksara pertama s dan menambahkannya ke penghujung.

  • Begitu juga, beralih ke kanan dengan 1 bermakna mengalih keluar aksara pertama s dan menambahkannya ke penghujung. Keluarkan aksara terakhir s dan tambahkannya pada permulaan.

Kita perlu menulis fungsi JavaScript yang menerima rentetan sebagai parameter pertama dan data tatasusunan yang mengandungi anjakan sebagai parameter kedua.

Fungsi harus berulang ke atas tatasusunan dan melakukan anjakan yang diperlukan dalam rentetan dan akhirnya mengembalikan rentetan baharu.

Contohnya -

Jika rentetan dan tatasusunan input ialah -

const str = 'abc';
const arr = [[0, 1], [1, 2]];

maka outputnya hendaklah -

const output = 'cab';

kerana,

[0,1] bermakna bergerak ke kiri sebanyak 1. "abc" -> "bca"

[1,2] bermaksud bergerak ke kanan sebanyak 2. "bca" -> "teksi"

Contoh

Kodnya ialah -

Demonstrasi langsung

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));

Output

dalam konsol Outputnya ialah -

cab

Atas ialah kandungan terperinci Lakukan peralihan dalam rentetan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam