Обратный метод Javascript не перевернет мой массив - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь использовать метод reverse () Javascript, и когда я консоль выхожу из массива после обращения к нему, он остается в том же порядке, в котором он был ранее. Вот мой код:

var logos = <?php echo json_encode($logos); ?>;

var logoArray = logos.reverse();

console.log(logos);
console.log(logoArray);

Я получаю массив из PHP и кодирую его в json. Затем я беру этот массив и запускаю метод reverse (), чтобы изменить порядок элементов массива. Когда я затем console.log каждый массив выходит, они идентичны, а второй массив переворачивается.

Я не могу понять, что может вызвать эту проблему?

1 Ответ

1 голос
/ 14 марта 2019

reverse() действительно изменяет массив на месте, поэтому logos переворачивается. logoArray это просто ссылка на logos.

Чтобы получить другой массив и изменить его, используйте .slice:

var logoArray = logos.slice().reverse();
...