数组javaScript中的reverse()方法?

数组javaScript中的reverse()方法?,javascript,arrays,developer-tools,Javascript,Arrays,Developer Tools,我有一点困惑,也许有人能帮我澄清一下,问题是在我的代码中我有一个包含10个元素的数组,我想反转元素,但从3-8的位置,而不是整个数组元素,有没有可能我尝试了索引,但没有其他选择请在这里告诉我解决方案。有很多方法可以实现这一点。但是您可以简单地按照下面的代码进行操作。我认为这是最简单的解决办法 var-arr=[1,2,3,4,5,6,7,8,9,10]; var slicedArr=arr.slice(3,8).reverse(); arr=arr.slice(0,3); arr.push(…切

我有一点困惑,也许有人能帮我澄清一下,问题是在我的代码中我有一个包含10个元素的数组,我想反转元素,但从3-8的位置,而不是整个数组元素,有没有可能我尝试了索引,但没有其他选择请在这里告诉我解决方案。

有很多方法可以实现这一点。但是您可以简单地按照下面的代码进行操作。我认为这是最简单的解决办法

var-arr=[1,2,3,4,5,6,7,8,9,10];
var slicedArr=arr.slice(3,8).reverse();
arr=arr.slice(0,3);
arr.push(…切片机);
我建议您阅读

至于您的问题,可以通过以下方式实现:

let original=[1,2,3,4,5,6,7,8,9,10];
让modified=original.slice(0,2).concat(original.slice(2.reverse());

log({original,modified})反向方法将调用数组对象的元素转置到位,改变数组,并返回对数组的引用。这个函数也没有任何参数。此外,我还为您提出了一个解决方案:

var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var result = customReverse(nums, 2, 8)

function customReverse(arr, start, end)
{
    let startArr = arr.splice(0,start);
    let endArr = arr.splice(end-start, arr.length-1);
    return startArr.concat(arr.reverse()).concat(endArr);
}

您需要创建另一个数组并将索引值设置为3-8。现在将其反转,并将其再次放入旧阵列

var stack = [1,2,3,4,5,6,7,8,9,10];

var temp_stack = stack.splice(3,5); // start from 3 count next 5 indexes.

temp_stack.reverse(); // This will reverse the values.

// This line again put the reversed array into old array.
stack.splice.apply(stack, [3, 0].concat(temp_stack)); 

// Now the "stack" will be [ 1, 2, 3, 8, 7, 6, 5, 4, 9, 10 ]

您可以使用类似这样的东西
[].concat(array.slice(0,3),array.slice(3,8).reverse(),array.slice(8))
array.splice(2,0,…array.splice(2,8).reverse()