Manipulando Arrays com JavaScript
Imagine que Thanos está programando em JavaScript e deseja eliminar metade dos elementos de um array, exatamente como fez com o universo.
Vamos explorar como ele poderia usar métodos como filter() e splice() para realizar esse snap em seus arrays.
Entendendo a Missão
Assim como Thanos busca equilíbrio ao eliminar metade do universo, queremos eliminar 50% dos elementos de um array em JavaScript.
A seguir, veremos duas formas de realizar isso com os métodos filter() e splice().
Filter
Ele permite criar um novo array contendo apenas os elementos que atendem a uma determinada condição.
Podemos simular o snap de Thanos filtrando metade dos elementos com base em um critério.
Neste exemplo, mantemos apenas os elementos com índices pares, eliminando metade do array.
Splice
Ele altera o conteúdo de um array removendo ou substituindo elementos existentes. Podemos usá-lo para eliminar 50% dos elementos de forma mais direta.
Calculamos a metade do array e removemos todos os elementos após esse ponto com splice().
Comparação entre Filter e Splice
filter(): Retorna um novo array, mantendo o original inalterado. Ideal para quando precisamos preservar o array original.
splice(): Modifica o array original diretamente, removendo elementos. Útil quando queremos alterar o array original sem criar uma cópia.
Use filter() para segurança e imutabilidade, e splice() para uma modificação direta e eficiente.
Otimização
Assim como Thanos escolheu os habitantes do universo aleatoriamente, você pode fazer um snap mais dinâmico usando a função Math.random() com filter() ou splice().
Este exemplo elimina aleatoriamente cerca de metade dos elementos, trazendo um resultado diferente a cada execução.
Vamos Praticar
Agora você está pronto para realizar o snap perfeito em seus arrays usando JavaScript!
Com métodos como filter() e splice(), você pode manipular seus dados de maneira eficaz, seja preservando o array original ou alterando-o diretamente.
Lembre-se, assim como Thanos, use esses poderes com sabedoria.
Ver no Linkedin Valdir Alves