反转数组仍保持原始顺序

时间:2014-09-11 15:20:07

标签: javascript typescript

我正在尝试在打字稿中反转数组。这是原始数组的样子:

enter image description here

但是当我在数组上调用reverse()时,它没有改变:

enter image description here

recommendations是一个数组数组,声明如下:

recommendations: any;

并实例化:

me.recommendations = [[]];

有谁能告诉我为什么数组没有被颠倒以及如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:7)

阵列已被颠倒过来。你已经在调试器中欺骗了自己。

reverse就地反转数组并且返回对数组的引用。换句话说,

> var x = [1, 2, 3];
> var y = x.reverse();
> x
    [3, 2, 1]
> y
    [3, 2, 1]
> x === y
    true

答案 1 :(得分:5)

问题是[] .reverse()没有按预期运行。 reverse更改了数组本身的值,因此数组正在被反转,只是在发生这种情况后你才检查变量whateveryup

因此数组本身 反转,你刚刚对该对象进行了2次引用。