
假设我们有一个包含小写英文字母的字符串 str 和一个数组 arr,其中 arr[i] = [direction, amount] −
direction 可以是 0(左移)或 1(右移)。
amount 是字符串 s 要移动的量。
左移 1 意味着删除 s 的第一个字符并将其附加到末尾。
同样,右移 1 意味着删除 s 的第一个字符并将其附加到末尾。删除 s 的最后一个字符并将其添加到开头。
我们需要编写一个 JavaScript 函数,该函数接受字符串作为第一个参数和包含 shift 的数组data 作为第二个参数。
函数应该迭代数组并在字符串中执行必要的移位,最后返回新字符串。
例如 -
如果输入字符串和数组是 -
const str = 'abc'; const arr = [[0, 1], [1, 2]];
那么输出应该是 -
const output = 'cab';
因为,
[0,1]表示向左移动1。“abc” -> “bca”
[1,2]表示向右移动2 .“bca” -> “cab”
示例
代码为 -
现场演示
const str = 'abc';
const arr = [[0, 1], [1, 2]];
const performShifts = (str = '', arr = []) => {
if(str.length 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));
输出
控制台中的输出将是 -
cab
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










