我正在尝试使用Javascript reverse()方法,当我在反转它之后控制台将数组记录出来时,它仍然是以前的顺序。这是我的代码:
var logos = <?php echo json_encode($logos); ?>;
var logoArray = logos.reverse();
console.log(logos);
console.log(logoArray);
我从PHP和json编码它获取数组。然后我接受该数组并运行reverse()方法来反转数组项的顺序。当我接着console.log时,每个数组都是相同的,而不是第二个数组被反转。
我似乎无法弄清楚会导致这个问题的原因是什么?
reverse()
确实改变了阵列,因此logos
被逆转。 logoArray
只是对logos
的引用。
要获得不同的数组并将其反转,请使用.slice
:
var logoArray = logos.slice().reverse();