Rumah > hujung hadapan web > tutorial js > Lakukan peralihan dalam rentetan dalam JavaScript

Lakukan peralihan dalam rentetan dalam JavaScript

王林
Lepaskan: 2023-08-26 10:41:13
ke hadapan
1505 orang telah melayarinya

在 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]];
Salin selepas log masuk

maka outputnya hendaklah -

const output = 'cab';
Salin selepas log masuk

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));
Salin selepas log masuk

Output

dalam konsol Outputnya ialah -

cab
Salin selepas log masuk

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan