Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuyển các chuỗi Vòng tròn sang trái và phải trong JavaScript


Chúng ta bắt buộc phải viết một hàm JavaScript có ba đối số, đầu tiên là một chuỗi, ví dụ str, sau đó chúng ta có hai số, giả sử m và n. Các số m và n về cơ bản chỉ định số lượng leftShifts và rightShifts tương ứng.

Chúng tôi định nghĩa các thuật ngữ này như vậy -

Dịch chuyển sang trái - Một vòng quay duy nhất của chuỗi trong đó ký tự đầu tiên trở thành ký tự cuối cùng và tất cả các ký tự khác được dịch chuyển một chỉ mục sang trái.

Ví dụ:abcde trở thành bcdea sau một lần dịch trái và cdeab sau hai lần dịch sang trái.

Shift phải - Một vòng quay duy nhất của chuỗi trong đó ký tự cuối cùng trở thành ký tự đầu tiên và tất cả các ký tự khác được chuyển sang phải.

Ví dụ:abcde trở thành eabcd sau một lần dịch phải và tắt sau hai lần dịch phải.

Vì vậy, về cơ bản, hàm của chúng ta sẽ thực hiện số lần dịch chuyển trái và phải được chỉ định và cuối cùng trả về chuỗi kết quả.

Ví dụ

Mã cho điều này sẽ là -

const str = 'abcdef';
const getShiftedString = (str, leftShifts, rightShifts) =>
shiftByAmount(shiftByAmount(str, leftShifts), −rightShifts);
// helper function
// negative amount shifts to right
// positive amount shifts to left
const shiftByAmount = (str, leftShifts) => {
   leftShifts = leftShifts % str.length;
   return str.slice(leftShifts) + str.slice(0, leftShifts);
};
console.log(getShiftedString(str, 3, 2));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

Bcdefa