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()代码>语法没有问题<代码>数组#反向
完全按照您所说的做。您需要在反转数组之前复制它以执行所需操作。您的语法没有问题。请阅读:“反向<代码>方法将调用数组对象的元素转置到位,改变数组,并返回对数组的引用。”