4 maneiras práticas de inverter arrays em JavaScript

 

Este artigo apresenta principalmente 4 métodos comumente usados ​​para inverter arrays em JavaScript. Inverter um array pode inverter a ordem dos elementos no array, de modo a atender a algumas necessidades específicas. O código é apresentado em detalhes neste artigo. Amigos que precisam dele pode se referir a Down

1. Use um loop For para inverter a matriz:

Usaremos um loop descendente para este método para iterar sobre cada elemento da matriz fornecida. O último elemento da matriz será o início do loop (arr.length — 1) e será executado até que o início da matriz seja alcançado (i ≥ 0)

1

2

3

4

5

6

7

8

9

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

function reverseArray1(arr) {

    var newArr = [];

    for (let index = arr.length - 1; index >= 0; index--) {

        newArr.push(arr[index]);

    }

    return newArr;

}

console.log(reverseArray1(arr));

A função reverseArray1 usa uma matriz ( arr ) como parâmetro e cria uma nova matriz ( newArr ) com os mesmos elementos na ordem inversa, fazendo um loop para trás na matriz fornecida ( let i = arr.length - 1; i >= 0 ; i -- ). Essa solução não modifica o array original, porque ele envia e armazena elementos no novo array, o que ocupa espaço extra.

2. Use o método Unshift() para inverter a matriz:

Este método não é muito diferente do primeiro método, pois também utiliza uma variável extra para armazenar o array invertido, portanto, o array original permanece inalterado.

1

2

3

4

5

6

7

8

9

function reverseArray2(arr) {

    var newArr = [];

    arr.forEach(element => {

        // unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

        newArr.unshift(element);

    });

    return newArr;

}

console.log(reverseArray2(arr));

A função reverseArray2 percorre o array dado ( arr ) do começo ao fim. Ele usa o método unshift na nova matriz ( newArr ) e insere cada elemento no início da matriz ( newArr[0] ). A segunda solução também é menos eficiente em termos de espaço do que a primeira solução, pois requer mais memória para armazenar a matriz invertida em uma variável diferente ( newArr ).

3. Inverta a matriz no lugar: (mude a matriz original)

Semelhante ao método reverse, nosso último método também modifica o array original invertendo seus elementos no lugar. Esta solução; inverter uma matriz no local é muito mais complicada do que as duas soluções anteriores.

1

2

3

4

5

6

7

8

9

10

function reverseArray3(arr) {

    for (let index = 0; index < Math.floor(arr.length / 2); index++) {

        // 借助第三方变量交换两个变量的值

        var temp = arr[index];

        arr[index] = arr[arr.length - 1 - index];

        arr[arr.length - 1 - index] = temp

    }

    return arr;

}

console.log(reverseArray3(arr));

在上面的代码中,我们使用Math.floor向下舍入( i < Math.floor(arr.length/2) ) i < Math.floor(arr.length/2)给定数组的一半元素。 然后将数组的元素放在第一位和最后一位,第二位与第二位到最后一位,依此类推。 代替使用局部绑定,我们使用数组解构来交换其元素。

4.直接调用 reverse():

1

console.log(['a','b','c','d'].reverse());

到此这篇关于JavaScript反转数组常用的4种方法的文章就介绍到这了,希望可以帮到你。

转自:微点阅读   https://www.weidianyuedu.com

Acho que você gosta

Origin blog.csdn.net/weixin_45707610/article/details/131864733
Recomendado
Clasificación