Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么arr.reverse()会反转原始数组_Javascript_Jquery - Fatal编程技术网

Javascript 为什么arr.reverse()会反转原始数组

Javascript 为什么arr.reverse()会反转原始数组,javascript,jquery,Javascript,Jquery,我想要的是能够反转数组并将其存储到新数组中,而无需修改原始数组。我使用的语法如下: var arr= ["1", "2", "5"] var arrTwo = arr.reverse(); console.log(arrTwo) \\ ["5" , "2" , "1"] console.log(arr) \\["5" , "2" , "1"] 当我输出这些值时,两个值都被颠倒了。有人能帮我找出我的语法有什么问题吗?你的语法没有问题,但是reverse()做得很到位。 如果要获得副本,请在执行以

我想要的是能够反转数组并将其存储到新数组中,而无需修改原始数组。我使用的语法如下:

var arr= ["1", "2", "5"]
var arrTwo = arr.reverse();
console.log(arrTwo) \\ ["5" , "2" , "1"]
console.log(arr) \\["5" , "2" , "1"]

当我输出这些值时,两个值都被颠倒了。有人能帮我找出我的语法有什么问题吗?

你的语法没有问题,但是
reverse()
做得很到位。 如果要获得副本,请在执行以下操作之前克隆阵列:

var arr= ["1", "2", "5"]
var arrTwo = arr.slice(0).reverse();

正如您所发现的,
reverse
修改源数组。您可以先复制阵列,然后使用
slice()
(扩展运算符)将其反转

“严格使用”;
var arr=[“1”、“2”、“5”];
var arrTwo=[…arr].reverse();
console.log(arrTwo);//["5", "2", "1"]

console.log(arr);//[“1”、“2”、“5”]
var arrTwo=arr.slice().reverse()语法没有问题<代码>数组#反向
完全按照您所说的做。您需要在反转数组之前复制它以执行所需操作。您的语法没有问题。请阅读:“反向<代码>方法将调用数组对象的元素转置到位,改变数组,并返回对数组的引用。”