Não é necessário apenas que um desenvolvedor conclua tarefas, mas também é necessário realizar tarefas de maneira mais eficiente. Existem várias bibliotecas disponíveis em JavaScript hoje que facilitam o trabalho com variáveis para os desenvolvedores. Vamos aprender como utilizar as funções mais comuns da biblioteca Lodash neste tutorial.
Se você ainda não experimentou o Lodash, agora é a hora. Lodash é um pacote de utilitários JavaScript contemporâneo que simplifica o trabalho com arrays, inteiros, objetos, textos e outros tipos de dados.
Ele o ajudará a lidar com vários tipos de objetos e economizará seu tempo eliminando a necessidade de codificar métodos genéricos. Seu código ficará mais limpo com menos linhas e funcionará em todos os navegadores. Se você ainda não está utilizando, você deve considerá-lo cuidadosamente.
Não adotar o Lodash é uma grande perda para nossas bases de código JavaScript. É uma solução elegante e livre de bugs para desafios comuns que temos no trabalho, e utilizá-la apenas tornará nosso código mais legível e gerenciável.
Vamos nos aprofundar em algumas das funções Lodash mais populares (ou não!) e descobrir como essa biblioteca é extremamente útil e bonita.
1. _.sortedUniq
Todos os valores duplicados não serão devolvidos com este. Como é apenas para matrizes classificadas, isso é utilizado principalmente por motivos de velocidade. Isso só é útil se você estiver lidando com uma grande matriz. Se você deseja melhorar a velocidade, classifique seu array e use métodos que funcionem melhor com arrays ordenados.
O Lodash tem várias outras funções semelhantes a esta. Você pode ver .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy.
2. _.reduzir
_.reduce é semelhante a uma função de filtro. A única diferença é que você tem a opção de selecionar o formulário do objeto retornado. É normal, se você não compreender o que estou dizendo; há um exemplo para isso.
Em essência, retornamos um novo objeto contendo usuários classificados por idade, mas apenas para aqueles com idade entre 18 e 59 anos. Essa função auxiliar do Lodash é uma das mais utilizadas. Também está incluído no ES6. Eu também gostaria de apontar dois erros típicos: lembre-se de retornar o resultado na conclusão da função e forneça o valor padrão para o resultado como o terceiro parâmetro (aqui).
3. _.get e ._set
Para este, vou enganá-lo um pouco mostrando duas funções que executam quase a mesma coisa. _.get retorna um valor de propriedade de um objeto, e _.set, bem, você adivinhou, define uma propriedade com um valor. Nada único, exceto que você pode acessar uma propriedade através de seu caminho.
Vamos ver um exemplo.
Se o caminho não existir ao chamar _.set, ele será gerado. Não haverá mais erros “Não é possível definir 'itens' de propriedade indefinidos”. Se o caminho não existir, _.get retornará undefined em vez de um erro. Se o caminho resolver como indefinido, você também pode fornecer um valor padrão (terceiro parâmetro).
4. _.encontrar
Em vez de percorrer um array para encontrar um único objeto, podemos usar _.find. Isso é bom, mas não é a única coisa que _.find pode fazer. Com uma única linha de código, você também pode descobrir um objeto utilizando várias propriedades. Confira!
5. _.keyBy
Um dos meus favoritos é _.keyBy. É bastante útil ao tentar obter um objeto com um determinado atributo. Suponha que temos 100 entradas de blog e queremos pegar aquela com o id “34abc”. Como vamos fazer isso? Vamos ver o que acontece! Esse método pode ajudá-lo a organizar uma coleção de objetos se um servidor a fornecer como uma matriz. Uma função também pode ser usada como o segundo argumento.
6. _.paraCada
Este método irá iterar sobre uma matriz de objetos um por um, permitindo que você faça qualquer lógica que desejar. Neste primeiro exemplo, farei um loop em uma lista de objetos de usuário, mesclando seus nomes e sobrenomes para criar uma nova propriedade chamada fullName.
forEach aceita dois parâmetros. A matriz sobre a qual estamos fazendo o loop é o primeiro parâmetro. O segundo argumento é uma função de iteração, com o primeiro parâmetro sendo a referência de item individual e o segundo sendo o índice atual da iteração.
7. _.mapa
Map, como forEach, itera em uma matriz de valores. A função map, por outro lado, retorna uma nova matriz de valores fornecida pela função iterate. Estamos utilizando a mesma coleção de usuários do nosso exemplo forEach aqui. Podemos usar _.map para gerar uma nova variável que tenha um array achatado de todos os nomes completos dos usuários.
8. _.diferença
A função de diferença produzirá uma nova matriz de valores que diferem entre a primeira e a segunda matriz. É vital notar que as localizações dos argumentos afetam os resultados.
9. _. obter
A função _.get() pode nos ajudar a localizar um elemento dentro de um objeto. Podemos definir um valor padrão para a função _.get() retornar se um elemento não for encontrado no caminho fornecido. A função _.get() recebe três parâmetros, sendo o primeiro o objeto do qual desejamos obter um elemento. O caminho é o segundo. O terceiro valor é o valor padrão que queremos retornar se um elemento não puder ser localizado.
10. _.encontrar
A função _find() pode parecer idêntica ao método _.get(). A função _.find(), como o método _.get(), aceita três parâmetros. Entretanto, diferentemente do método _.get(), o primeiro argumento pode ser um array ou um objeto. O segundo argumento especifica a função que será chamada em cada iteração. A terceira entrada é o índice inicial da coleção. Porque a função _.find() itera sobre cada elemento em uma coleção.
11. _.grupo por
Crie um objeto nomeado pelo resultado de uma função (ou um nome de propriedade selecionado aleatoriamente), com cada valor sendo uma matriz de objetos com a mesma chave.
12. _.conjunto
O método _.set() é o inverso do método _.get(). Ele irá alterar o valor de um elemento em um determinado caminho. O objeto ou matriz é o primeiro parâmetro, o caminho é o segundo e o valor que você deseja definir é o terceiro.
13. _. mesclar
Ele funciona de forma semelhante ao Object.assign, exceto que ele recorre profundamente na estrutura subjacente para atualizar os objetos mais profundos em vez de substituí-los.
14. ._rebarbar
Este é um exemplo bastante direto. Todas as “marcações diacríticas combinadas” são removidas. Assim, “é” torna-se “e”. Quando há internacionalização e localização, é uma boa prática rebarbar o texto para funções de pesquisa.
15. _.debounce
Esta é uma das estratégias Lodash mais eficazes. Também pode ser difícil entender o que ele faz e quando você deve usá-lo. O método _.debounce() retorna uma função. A função do método _.debounce() atrasará a invocação até que um número especificado de milissegundos tenha passado desde que a função foi invocada pela última vez.
Conclusão
Lodash é uma poderosa extensão da linguagem JavaScript. Com o mínimo de esforço, pode-se construir um código sucinto e eficiente. Lodash também é completamente modular. Embora algumas de suas funcionalidades possam acabar sendo preteridas, acredito que ainda fornecerá vários benefícios aos desenvolvedores, além de impulsionar a evolução da linguagem JS.
Espero que esses poucos recursos do Lodash ajudem você a ver como o Lodash pode ser poderoso ao trabalhar com arrays, objetos e coleções. Você pode visitar o documentação para explorar uma infinidade de outras opções que ele tem para oferecer.
Deixe um comentário