Matriz JavaScript reversa

Resumo : neste tutorial, você aprenderá como usar o reverse()método de array JavaScript que inverte a ordem dos elementos dentro de um array.

Introdução ao método JavaScript Array Reverse

O reverse()método inverte a ordem dos elementos dentro do array e retorna o array modificado com os elementos na ordem inversa.

Aqui está a sintaxe do reverse()método:

Array.prototype.reverse()
Linguagem de código:  JavaScript  ( javascript )

O reverse()método não aceita nenhum parâmetro. Ele inverte os elementos de um array no lugar e retorna o array invertido.

O reverse()método é genérico . Isso significa que você pode chamá-lo em um objeto que não seja de array que possua a lengthpropriedade e propriedades com chave inteira.

Observe que você não pode chamar reverse()on strings porque as strings são imutáveis .

Para reverter a ordem dos elementos em um array e retornar uma cópia do array sem modificar o array original, você pode usar o toReversed()método.

Exemplos de métodos JavaScript Array reverse()

Vamos explorar alguns exemplos de uso do reverse()método de array JavaScript.

1) Usando o método JavaScript array reverse() em arrays de strings

O exemplo a seguir usa o reverse()método para reverter uma matriz de strings:

const colors = ['red','green','blue'];
colors.reverse();

console.log(colors);Linguagem de código:  JavaScript  ( javascript )

Saída:

['blue', 'green', 'red']Linguagem de código:  JavaScript  ( javascript )

2) Usando o método JavaScript array reverse() em arrays numéricos

O exemplo a seguir usa o reverse()método para inverter a ordem dos números em uma matriz:

const scores = [1, 3, 5, 7];
scores.reverse();

console.log(scores);Linguagem de código:  JavaScript  ( javascript )

Saída:

[7, 5, 3, 1]Linguagem de código:  JavaScript  ( javascript )

3) Usando o método JavaScript array reverse() em arrays de objetos

O exemplo a seguir usa o reverse()método para inverter a ordem dos objetos em uma matriz:

const books = [
  { title: 'Eloquent JavaScript', author: 'Marijn Haverbeke' },
  { title: 'JavaScript: The Good Parts', author: 'Douglas Crockford' },
  { title: 'JavaScript: The Definitive Guide', author: 'David Flanagan' },
];

books.reverse();

console.log(books);Linguagem de código:  JavaScript  ( javascript )

Saída:

[
    {
        "title": "JavaScript: The Definitive Guide",
        "author": "David Flanagan"
    },
    {
        "title": "JavaScript: The Good Parts",
        "author": "Douglas Crockford"
    },
    {
        "title": "Eloquent JavaScript",
        "author": "Marijn Haverbeke"
    }
]Linguagem de código:  JavaScript  ( javascript )

4) Usando reverse() em arrays esparsos

Quando você chama o reverse()método em um array esparso, o array permanece esparso. O reverse()método copia slots vazios sobre seus respectivos índices como slots vazios:

const scores = [1,,7,5];
scores.reverse();

console.log(scores);Linguagem de código:  JavaScript  ( javascript )

Saída:

[5, 7, empty, 1]Linguagem de código:  JavaScript  ( javascript )

5) Usando JavaScript array reverse() em objetos não array

O exemplo a seguir ilustra como chamar o reverse()método em um objeto que possui a lengthpropriedade e propriedades com chave inteira:

const arrayLike = {
  length: 3,
  unrelated: "bar",
  2: 2,
  3: 3, // ignored by reverse() since length is 3
};
console.log(Array.prototype.reverse.call(arrayLike));Linguagem de código:  JavaScript  ( javascript )

Saída:

{0: 2, 3: 3, length: 3, unrelated: 'bar'}Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, o reverse()método começa acessando a lengthpropriedade do arquivo array. Posteriormente, ele itera através de cada propriedade com uma chave inteira variando de 0a length / 2.

Durante este processo, ele troca os valores nos índices correspondentes em ambas as extremidades do array. Além disso, o método remove qualquer propriedade de destino sem uma propriedade de origem correspondente.

Resumo

  • Use o método de array JavaScript reverse()para reverter a ordem dos elementos de um array no lugar.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *