У меня возникла необходимость изменить массив JavaScript, и вот что я сделал.
Задан массив список
:
const list = [1, 2, 3, 4, 5]
Самый простой и интуитивно понятный способ – вызвать метод reverse()
массива.
Этот метод изменяет исходный массив, поэтому я могу объявить list
как константу, потому что мне не нужно переназначать ему результат вызова list.reverse()
:
const list = [1, 2, 3, 4, 5] list.reverse() //list is [ 5, 4, 3, 2, 1 ]
Вы можете связать этот метод с оператором распространения, чтобы сначала скопировать исходный массив, а затем перевернуть его, чтобы исходный массив остался нетронутым:
const list = [1, 2, 3, 4, 5] const reversedList = [...list].reverse() //list is [ 1, 2, 3, 4, 5 ] //reversedList is [ 5, 4, 3, 2, 1 ]
Другой способ – использовать slice()
без передачи аргументов:
const list = [1, 2, 3, 4, 5] const reversedList = list.slice().reverse() //list is [ 1, 2, 3, 4, 5 ] //reversedList is [ 5, 4, 3, 2, 1 ]
но я нахожу оператор распространения более интуитивно понятным, чем slice()
.
Оригинал: “https://flaviocopes.com/how-to-reverse-array-javascript/”