我对console.log(a)的结果感到有点困惑。为什么数组中元素的顺序" a"被逆转了?我理解数组"逆转的逻辑,"但无法解决阵列发生的事情" a。"
Mozilla Developer Network(here)上的示例。
var a = ['one', 'two', 'three'];
var reversed = a.reverse();
console.log(a); // ['three', 'two', 'one']
console.log(reversed); // ['three', 'two', 'one']
答案 0 :(得分:5)
答案 1 :(得分:4)
reverse
函数将就地反转数组(它修改/改变原始数组对象):
var a = ['one', 'two', 'three'];
a.reverse();
console.log(a); // ['three', 'two', 'one']
如果你不想改变原始数组,你可以在反转之前做一个浅拷贝(使用slice
函数):
var reversed = a.slice().reverse();
console.log(a); // ['one', 'two', 'three']
console.log(reversed); // ['three', 'two', 'one']