gpt4 book ai didi

javascript - 在 JavaScript 中使用递归将数组元素移动到不同位置

转载 作者:行者123 更新时间:2023-11-28 16:52:06 25 4
gpt4 key购买 nike

我知道这个问题已经被问了很多次,但我还没有找到一个在 JavaScript(很多 Java 和 C++)中使用递归而不是新/旧索引拼接的解决方案。这只是一个练习,我不擅长递归,因此任何帮助和彻底的解释将不胜感激。

//given an array, shift all elements within the array forward 2 positions.
// [1, 2, 3, 4, 5] --> [4, 5, 1, 2, 3]

我的第一个想法是使用某种占位符,但我不确定该如何处理它。这是我到目前为止所拥有的

let array = [1, 2, 3, 4, 5];

function shiftTwo (arr) {
for (i=0; i<arr.length; i++) {
let curr = arr[0];
}
}

提前致谢!

最佳答案

一种可能性是重复移动的空格数。如果为 0,则完整返回数组(或者可能使用 arr.slice(0) 克隆它);否则,将最后一个条目移到前面并少重复一次。代码可能如下所示:

const shiftRight = (n, arr) =>
n <= 0
? arr
: shiftRight (n - 1, [...arr.slice(-1), ...arr.slice(0, -1)])


console .log (shiftRight (2, [1, 2, 3, 4, 5]))

关于javascript - 在 JavaScript 中使用递归将数组元素移动到不同位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com