O básico do JavaScript para iniciantes - Seção 6: programação funcional | Rob Merrill | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

O básico do JavaScript para iniciantes - Seção 6: programação funcional

teacher avatar Rob Merrill, JavaScript Instructor

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

7 aulas (50 min)
    • 1. Javascript de básico — programação funcional:

      1:55
    • 2. Javascript de básico — programação funcional:

      9:03
    • 3. Javascript de básico — programação funcional: filtro:

      8:29
    • 4. Javascript de básico — programação funcional:

      7:26
    • 5. Javascript de básico — programação funcional: de Map Lab

      7:09
    • 6. Javascript de básico — programação funcional:

      7:37
    • 7. Javascript de básico — programação funcional: Reduce

      8:17
  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

532

Estudantes

--

Sobre este curso

Curso 6 no JavaScript

Neste curso, você vai In

  • Filtro
  • mapa
  • reduzir
  • Revisão do curso

Por todo nosso Javascript para a série de curso para iniciantes, você vai encontrar essa sua uma parada necessária para entrar na linguagem de linguagem de JavaScript. Vamos começar do zero e desenvolver nossa compreensão da linguagem de programação mais popular do mundo juntos.

Confira o JavaScript em ação com vídeos de quadro de branco para a visualização no seu smartphone. Este é realmente um curso com que você pode se envolver não importa em onde estiver em Faça sua educação em JavaScript em parte! Com vídeos de quadro de branco

Você pode praticar o JavaScript no seu navegador da web! Aproveite as ferramentas de desenvolvedor do Google Chrome para colocar o JavaScript que você aprendeu durante sua aula de whiteboard em prática com outros exemplos e desafios. Este é nosso de jogo de JavaScript de

Aprender JavaScript é como aprender um idioma. Este curso não vai fazer uma falsa promessa de dizer que você vai dominar o JavaScript durante a noite. No entanto, este curso vai mergulhar você na linguagem de programação mais popular do mundo.

Cada curso vai apresentar você algo novo no course :

  • Sintaxe no JavaScript
  • Javascript Criação de blocos
  • Melhores de JavaScript
  • Objetos no JavaScript
  • Arrays no JavaScript
  • Exposições regulares no JavaScript
  • Programação funcional no JavaScript
  • Algoritmos do JavaScript
  • Estruturas de dados no JavaScript
  • JavaScript de JavaScript 6

Você vai terminar esse curso com uma compreensão do Javascript que vai permitir que você veja um mergulho mais mais mais profundo no idioma e vai lançar em uma nova carreira como desenvolvedor de web de Javase.

Aprender um novo idioma pode ser difícil e até mesmo se sentir intimidando. JavaScript o básico de noções básicas para o processo de aprendizagem para ficar acessível e makes

Conheça seu professor

Teacher Profile Image

Rob Merrill

JavaScript Instructor

Professor

Rob Merrill is a Full Stack JavaScript Developer. His specialty is in the MEAN stack focusing on AngularJS, NodeJS, ExpressJS and MongoDB.

He is a graduate of Code Fellows Advanced Full Stack JavaScript Development course and has been developing with JavaScript for three years.

In his spare time he travels around Seattle's finest craft breweries with his wife and their dog.

Visualizar o perfil completo

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%
Arquivo de avaliações

Em outubro de 2018, atualizamos nosso sistema de avaliações para melhorar a forma como coletamos feedback. Abaixo estão as avaliações escritas antes dessa atualização.

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Javascript de básico — programação funcional:: Bem-vindo ao script Java. O Basics. JavaScript é a linguagem de programação mais popular no mundo tem sido chamado a linguagem da Web Stack Overflow listado como a tecnologia surda mais popular e obter números que como o top ranks aprendizagem linguagem JavaScript permitirá que você seja um desenvolvedor pilha completa ou financiar uma especialidade no front-end ou no back-end. Com JavaScript, você será capaz de lidar com frontais e frameworks como reagir e angular no lado do cliente . E você também pode cortar no lado do servidor back-end sem Js e criar bancos de dados com Mongo . DB JavaScript é uma linguagem, por isso vai levar algum tempo para aprender antes que você possa escrever poesia ou um romance em qualquer idioma, você tem que primeiro aprender o alfabeto linguístico, como fazer palavras e ver como os outros o usam. Para aprender JavaScript. Vamos procurar debaixo do capô. Isso não vai ser apenas um exercício na cópia do código de outra pessoa para acabar com um aplicativo que você não entende. Tudo o que fazemos será visual na forma de uma lição de quadro branco onde você pode realmente ver como tudo funciona e se conecta. Se você é um aprendiz visual, este é o curso para você. Isso não é sobre ir 0 a 60 ou zero para herói, porque se você realmente está começando em zero, esses cursos te deixam para trás rapidamente. É sobre aprender. Compreender e aplicar é que você pode criar e criar com Javascript. Caminho seguirá o nosso quadro branco. As lições sobre a maneira de laboratório entrarão no desenvolvedor de software do Google Chrome. Cardos do cônsul são recreio de script Java. Não há nada que você precise baixar para este curso. Sem ferramentas especiais, sem passos extras. Só Google, cromo, tudo. Você aprendeu a lição que recriaremos juntos no laboratório. Em seguida, apresentarei um desafio de código para recriar o que aprendemos juntos e, em seguida, analisaremos juntos uma possível solução. Bem-vindo ao Java Script. O básico. Vamos começar a falar script de trabalho 2. Javascript de básico — programação funcional:: Muito bem, bem-vindos de volta a Java. Despojado o básico nesta seção, vamos olhar para a programação funcional. Este será um primer sobre o que é a programação funcional e lhe dará um gostinho de como ela é usada em JavaScript. Você não aprenderá programação funcional durante a noite, mas você pode começar a ver os benefícios e resultados dela imediatamente. Uma das características do script Java que o torna bem adequado para programação funcional é o fato de que ele pode aceitar funções de ordem superior. Ah, função de ordem superior é uma função que pode tomar outra função como um argumento ou que retorna uma função. Como resultado, programação funcional é exatamente como soa. Programação com funções em funções JavaScript são objetos, funções, valores de ar. Isso significa que as funções podem ser passadas ao longo de outras funções. Eric Elliot explica a programação funcional desta forma quando diz que os glossários de programação funcional contêm um grande número de palavras grandes. Mas no seu núcleo, a essência da programação funcional é realmente muito simples. Programas são construídos principalmente com um punhado de funções muito pequenas, muito reutilizáveis, muito previsíveis, muito reutilizáveis, muito previsíveis, puras. Agora você provavelmente quer saber o que funções puras são por enquanto. Concretamente, isso significa que uma função pura sempre retorna ao mesmo resultado, dado que os mesmos parâmetros de função pura é uma função na qual, dada a mesma entrada, sempre retornará a mesma saída, não produz efeitos colaterais e depende de nenhum estado externo. Não se preocupe se isso for um pouco acima da sua cabeça. Lembre-se, estamos aprendendo uma nova língua, e para fazer isso, você tem que ouvir as pessoas falando de maneiras que você pode não estar familiarizado ou compreender tudo o que está sendo dito. Esta seção de lições será sobre como obter uma compreensão sobre como funções de ordem superior funcionam para que algumas dessas palavras comecem a fazer mais sentido para começar. Vamos ver o Twitter. Não, não vamos falar sobre seus algoritmos de pilha de tecnologia ou algo assim. Mas um tweet que eu gostei foi de Stephen Lucien ER. Ele usou alguns emojis para ilustrar a programação funcional com mapa, filtro e redução, que são os três métodos de matriz para os quais voltaremos nossa atenção e tentando entender a programação funcional nas próximas lições. Vamos olhar para a imagem que temos uma imagem com filtro de mapa e reduzir a Matt pertence uma matriz de três imagens. Milho, vaca e frango. A palavra mapa em si é um método ou uma função em uma matriz. Então temos a palavra cozinheiro, representando uma função, bem como se cada item vai passar por uma função de cozinheiro. Lembre-se, uma função é como um botão é um pedaço de código que podemos aplicar uma e outra vez. Ah, função é um processo, que leva alguma entrada chamada argumentos e produz alguma saída chamada um valor de retorno. Então, dentro do mapa de função ou método que está anexado a uma matriz, vamos passar outro método. Ele vai funcionar em cada elemento da matriz, e quando o milho é cozido, temos pipoca. Quando a vaca é cozida, temos um hambúrguer onde o frango é cozido. Temos um ovo. Então mapa é um método que trabalhou em cada item da matriz e retornou uma nova matriz em que cada elemento passou por uma função. Em seguida, temos o método de filtro em uma matriz. Nosso raio desta vez tem pipoca, hambúrguer e dores. Desta vez, cada elemento de uma matriz vai ser executado através de uma espécie de filtro verdadeiro e falso para quaisquer especificidades que queremos nomear neste caso é um filtro chamado É Vegetarian e é uma função. Ele irá retornar uma nova matriz com pipoca e ovos. Sim, alguns vegetarianos podem não consumir ovos, mas este vegetariano imaginário faz. Então ele retorna em um raid em que cada elemento foi avaliado, true ou false, e os valores true são retornados para uma nova matriz. Em terceiro lugar, temos o método reduzido. Este é o mais complexo e vai gastar um bom pedaço de tempo quebrando e explicando. Enquanto mapa e filtro têm usos muito específicos, reduzir tem muita flexibilidade personalizável antes que nossa ilustração vai olhar para uma execução simples dele que mostra que reduzir vai passar por nossa matriz e elementos corredor através de um função que retornará um valor neste caso, tanto pipoca quanto ovos, o mesmo destino final em nossa pista digestiva. Programação funcional e funções de ordem superior são boas para a composição, colocando uma função em outra função, colocando funções menores em funções maiores. Vamos em frente e começar nossa análise de programação funcional com filtros de filtro e método , um k a. uma função em uma corrida. Ele aceita outra função como seu argumento que irá retornar uma nova matriz. Anteriormente, nós inserimos números de strings e Boolean diz, argumentos em nossas funções. Agora estamos passando funções. Como argumentos para cada item, teremos uma função de retorno de chamada. Filtro chama a função de retorno de chamada fornecida uma vez para cada elemento em uma matriz e construir uma nova matriz de todos os valores para os quais retorno de chamada retorna de valor. Que curso para True, a matriz original é deixada intocada. Vejamos a sintaxe. Temos nossa matriz, então temos o método de filtro. Então, dentro desse filtro, estamos passando uma função como um argumento. Isto é o que faz algo programação funcional passando um dedo da função, uma função como um argumento. Essa função, em seguida, recebe um parâmetro para o valor atual do elemento. Isso é necessário. Em seguida, executamos o bloco de código no valor atual, e se for verdadeiro, retornamo-lo para a nova matriz. Muito bem, obrigado por aguentar tanto tempo, finalmente estamos prontos para entrar em algum código. Vamos criar uma matriz com pontuações de teste irá declarar uma variável chamada pontuação de teste e um valor do Senado de 90 a 87 54 63 75 59. Vamos criar uma expressão de função chamada passando teste irá declarar uma variável chamada passando teste. Bem, então o sol que o valor de uma função anônima lhe dará um parâmetro de testes representando o elemento atual na matriz entrará em um bloco de código um retorno, um booleano de true ou false em relação a se um teste tem um valor maior que 60. Então esta é a nossa função que vamos usar como argumento. Vamos em frente e declarar uma variável chamada graduação. Esta matriz conterá todos os testes de aprovação. Isso significa que o aluno está se formando vai simplesmente executar o método de filtro em nosso raio. Dentro dos parênteses, vamos colocar em nosso argumento da expressão de função que será executado em cada elemento na matriz. Ele irá retornar um valor verdadeiro ou falso para cada elemento e criar uma nova matriz em que apenas os elementos que eles são verdadeiros vai encontrar-se na nova matriz. Outra maneira que podemos escrever isso em vez de colocar nossa expressão de função em, como um argumento é, nós podemos apenas escrever nossa função dentro do parâmetro e o resultado de ambos são os mesmos . Nossa matriz de pontuação de teste não foi mutada é exatamente a mesma. Agora temos um novo array. E se não usássemos filtro? Como podemos obter o mesmo resultado desejado de nossa matriz de pontuações de teste? Vamos em frente e olhar para o código que seria necessário para conseguir isso. Usando um loop for. A primeira coisa que vamos fazer é criar uma matriz chamada graduação. A primeira coisa que vamos fazer é criar uma matriz chamada Graduação que vamos preencher com valores bem, em seguida, usar um loop for para percorrer cada elemento na matriz, começando com o primeiro elemento. Nossa condição de teste será desde que seu valor atual para o nosso contador seja menor do que o comprimento da matriz irá mergulhar no bloco de código e criar uma instrução condicional. Vamos avaliar uma expressão se as pontuações de teste de Índice zero, que é 92 é maior do que 60 em nosso código. Bloco agora acessará nossa matriz de graduação que criamos acima. Vamos usar o método push que empurra o valor do ar para o final da matriz neste ponto. São valor para o elemento atual é 92. Então nós empurramos isso para o fim da nossa matriz. Em seguida, repetimos o processo uma e outra vez. Para Philip são matriz com valores maiores do que 60. Agora, vamos olhar para estes dois lado a lado. Código claro menos código e fácil de manter livre de bugs. Espero que esteja começando a ver os benefícios da programação funcional. Tudo bem. Obrigado por tomar isto primeiro. Olhe comigo. Uma programação funcional em JavaScript irá vê-lo no laboratório para começar a colocar em prática o que aprendemos. 3. Javascript de básico — programação funcional: filtro:: Muito bem, bem-vindos de volta ao laboratório e à nossa lição. Começamos nossa jornada em programação funcional juntamente com JavaScript orientado a objetos. Este é o segundo pilar em relação ao que é essencial para ser um programador de scripts Java. Fomos apresentados à idéia de que funções valores de ar, o que significa que você pode passar uma função para outra função como um argumento. Isto é essencial para a programação funcional, funções puras e funções de ordem superior. O benefício da programação funcional é o conceito de sempre saber o que você está indo para obter. Isso pode ser um pouco claro neste momento. Vamos desempacotar essas declarações através desta seção sobre programação funcional. Mas por enquanto, vamos olhar para uma espécie de ditado famoso sobre as armadilhas da programação orientada a objetos em qualquer linguagem. A história diz que você quer uma banana, então você pede uma banana, você ganha uma banana. Até agora, esta é uma história feliz. Mas também descobriste que apanhaste o gorila que estava a segurar a banana. E além disso, você tem a selva em que o Grillo estava morando. Esse é o dilema que as pessoas às vezes enfrentam ao fazer programação orientada a objetos você obtém muito mais do que você está pedindo. Por outro lado, funções puras têm muitas propriedades benéficas e formam a base da programação funcional . Funções puras são completamente independentes do ST externo e, como tal, seu imune a classes inteiras de bugs que têm a ver com o estado mutável compartilhado. Eles são independentes. A natureza também os torna ótimos candidatos para processamento paralelo em muitos usos de CP e em clusters inteiros de computação distribuída, que os torna essenciais para muitos tipos de tarefas de computação científica e de uso intensivo de recursos . Funções puras também são extremamente independentes, fácil de mover, re fator e reorganizado em seu código, tornando seus programas mais flexíveis e adaptáveis a mudanças futuras. Certo, isso foi muita teoria e nossa última lição. Nós pesquisamos filtrar, mapear e reduzir e este laboratório. Vamos em frente e focar no filtro. Primeiro, vamos criar um array bem, em seguida, usar um loop para iterado, que significa passar por todos os elementos da matriz e testar a condição para ser verdadeiro, se verdadeiro, irá empurrá-los para uma nova matriz. Vamos construir isso juntos, e então eu vou fazer você realizar o mesmo feito com o método de filtro você mesmo Vamos criar um array chamado Tempo. Estes são os valores que iam medir. Vamos criar uma nova matriz na qual qualquer temperatura acima de 70 será empurrada para uma nova matriz chamada Go Outside. Então vamos em frente e declarar. Então vamos em frente e declarar que sair sábado e inicializá-lo com alguns colchetes vazios . Agora vamos configurar um loop de quatro são quatro loop terá três declarações. Primeiro, inicializamos ou contador para zero, então definirá nossa condição de teste para perguntar se nosso contador é menor do que o comprimento da matriz meteorológica. Se isso for verdade, então entraremos no nosso bloco. Nós, então, correr para uma declaração se condicional se índice de zero em seu tempo raio é maior do que 70 que, neste caso, é 72. Temos um valor verdadeiro e vamos para o nosso próximo bloco de código. Nós temos a nossa nova matriz que criamos chamado Go Outside, e usamos o método push e preenchemos o argumento com Índice zero da nossa matriz meteorológica, que tem um valor de 72 que agora vai para a nossa nova matriz. Repetimos esse processo novamente, fazendo loop através de uma matriz inteira. Agora, quando verificamos o valor da nossa nova matriz ir para fora, obtemos 70 a 84 90 a 85 72. Nada mal. foi muito trabalho Masfoi muito trabalho. Aqui está o seu desafio. Eu quero que você pegue a mesma matriz meteorológica e implemente o método de filtro para fazer a mesma coisa. Lembre-se, para executar o método de filtro, você aplicará o método de filtro à matriz meteorológica. E então você passará para os parênteses de filtro, um argumento que é uma função na qual cada elemento é avaliado como verdadeiro ou falso, e os valores verdadeiros são retornados para o novo estupro A. Tudo bem, boa sorte. Vá em frente e pause o vídeo. Irá voltar em poucos momentos e encontrar uma solução juntos. Tudo bem, como ir. Ok, eu vou ir em frente e olhar uma maneira muito rápida de resolver isso. A primeira é criar uma expressão de função que irá retornar valores verdadeiros e falsos em relação ao que podemos considerar bom tempo. Então agora vai criar nossa matriz em uma linha irá declarar a variável ir para fora e um sinal do valor do nosso tempo de raios com o filtro método e o argumento de bom tempo. Lembre-se, bom tempo é uma expressão de função. Então estamos passando uma função toe são método de filtro, e o resultado é exatamente o que estávamos procurando que tinha um par de peças em movimento. Vamos resolver isso de outra maneira. Vamos em frente e declarar nossa variável ir fora, e vamos assinar o valor da nossa matriz meteorológica com o método de filtro. Bem, então, à direita, nossa função anônima como um argumento ali vai dar a ele o espaço reservado valor atual de temp. Essa palavra temporária pode ser qualquer coisa. É um espaço reservado. Pode ser a letra X, mas para a legibilidade humana, ajuda-nos a saber que estamos a olhar para as temporárias diárias. Então, para cada templo ou matriz, perguntamos se é verdade. Se for maior que 70. Agora, quando verificamos o valor da nossa saída no sábado, obtemos o mesmo resultado. Tudo bem. Agora, vamos construir isso um pouco e enfrentar um desafio. Com um pouco mais de complexidade, vamos construir outro estupro. Desta vez. Quero que preencha a matriz com objetos. Isto é algo que ainda não fizemos. Nós já preenchemos matrizes de números e strings e outras primitivas, mas um raise também pode conter objetos. Vamos em frente e construir essa matriz. Vamos ficar com o tempo da fama. Vamos telefone matriz com os dias da semana e um booleano em relação a se podemos esperar sol ou chuva vai querer retornar uma matriz com os objetos que são dias ensolarados. Precisaremos criar uma matriz neste caso chamará de “Dias ensolarados”. Bem, então crie um loop for. Nossa primeira declaração inicializará ou contrariará. Zero. Nossa segunda declaração irá testar que são contador é menor do que o nosso comprimento de raio que nos enviará para o bloco de código. Vamos usar a declaração condicional se vamos olhar para o primeiro elemento da previsão matriz. Ele tem um objeto com dois valores de propriedade. O Dia da Propriedade com o valor de segunda-feira nas propriedades, filho, com o ouro da verdade e nossa declaração se, estamos olhando para o valor da propriedade, filho, vamos usar o ponto notação toe acessar esse valor de propriedade. Isso retornará verdadeiro, então vamos empurrar para a nossa nova matriz ensolarado, todo o elemento no índice um, que é o nosso objeto com ambas as propriedades. Então vamos repetir isso através de todos os elementos em nossa matriz de previsão. E aqui estão os resultados. Ótima. Agora vamos fazer isso de novo. Com o método do filtro, isso vai ser incrível. Vai declarar uma variável que está indo para manter a nossa matriz irá atribuí-lo. O valor da nossa matriz de previsão irá atribuí-lo o valor da nossa matriz de previsão com os objetos, incluindo dias da semana e bilhões em relação a se vamos ter sol ou chuva passará para o método de filtro de irá dar ao valor atual o nome do tempo. Lembre-se, pode ser qualquer coisa. Ele poderia ser apenas X. Ele apenas representa o valor atual na matriz em que estaremos executando a função callback em, neste caso, cada elemento que acontece a ser um objeto na matriz. Em seguida, executamos nosso bloco de código. O método de filtro retornará para a nova matriz todos os valores verdadeiros. Então, em nossa matriz de previsão, queremos retornar todos os valores atuais em que filho é verdadeiro e porque isso já é booleano não temos toe adicionar nenhum código para avaliar a expressão. Vamos inserir isso em nosso cônsul e obtemos os mesmos resultados, muito menos código menos espaço para bugs e ainda muito legível. Obrigado por dar esta primeira olhada na programação funcional em nosso laboratório. Vemo-nos na próxima lição. 4. Javascript de básico — programação funcional:: Bem-vindo de volta ao script Java, O básico e esta lição. Vamos continuar nossa cartilha sobre programação funcional. Vamos ver o método do mapa antes de entrarmos na prática. Vamos lançar um pouco mais de luz sobre o vocab de funções puras que usamos algumas vezes até agora. Ah, a função é pura. Se for dada a mesma entrada, ela sempre produzirá a mesma saída. Vejamos um exemplo, dúvida matemática aleatória. Toda vez que nosso interpretador de script Java executa este método, vamos obter um resultado diferente. Dada a mesma entrada, não podemos esperar a mesma saída. Mesmo que não tenhamos passado quaisquer argumentos em nenhuma das chamadas de função, todas elas produziram uma saída diferente, que significa que o ponto matemático aleatório não é matemática pura. Dot Random produz um novo número aleatório entre zero e um cada vez que você executá-lo. Quando perguntamos, o computador para um número aleatório geralmente significa que queremos um resultado diferente. Então temos a última vez que o método aleatório de ponto matemático tem seu lugar, mas este é um exemplo de uma função que, dada a mesma entrada, não retorna a mesma saída. Vamos continuar a olhar para funções de ordem superior. Vamos continuar olhando para uma função de ordem superior chamada mapa, Lembre-se e funções JavaScript são apenas como valores como qualquer outro valor em JavaScript. Podemos tirar proveito deste ignorar funções como argumentos para funções certificar-se de que começa a afundar com você. Podemos ir em frente e começar com Matt. O método do mapa será anexado a uma matriz, assim como Filter estava em nossa última lição. Vamos então passar-lhe uma função como um argumento. Lembre-se, isso é o que faz mapear filtro e reduzir funções de ordem superior, passando uma função para uma função. Cada elemento em nossa matriz original irá interagir com esta função callback e resultar em uma nova matriz irá filtrar através de longe alguns dos itens de um mapa de matriz, transforma todos os itens e devolve-los para uma nova matriz. Vamos em frente e olhar para uma taxa semelhante ou última flab. Vamos olhar para os dias da semana e um booleano de certeza falso sobre se vai haver filho, e então nós também vamos adicionar umidade. Com o número de valor em nosso laboratório anterior, usamos filtro toe apenas dias de retorno em que haveria sol com mapa, vamos retornar uma matriz que funciona em cada elemento em nossa matriz. Lembre-se, cada elemento em nosso raio é na verdade um objeto separado por comentários. Vamos transformar esta matriz, tendo o método mapa trabalhado através de cada elemento de nossa matriz e criar uma nova matriz, retornando o valor de umidade. Nós não estamos rejeitando nada em um valor falso tarefa como com filtro. Mas antes de fazermos isso, vamos fazê-lo com o mais difícil for loop First irá declarar uma nova variável que irá conter o nosso raio chamado Humid, irá inicializar esta matriz com dois colchetes vazios. Então faremos o nosso loop de quatro. Felizmente, isso está se tornando muito segunda natureza para saber que existem três declarações que irão em seu para declaração loop. Um é a inicialização do contador var I é igual a zero. Instrução para é a condição de teste que o contador é menor do que o comprimento da matriz de previsão Thin. declaração de Arthur é a atualização do contador que usaremos assim que passarmos por um bloco de código. Se a condição de teste fosse verdadeira em nosso bloco de código, nós simplesmente nomeamos nosso novo array. Criamos o Humid. Em seguida, fazemos o método push nesta matriz porque não estavam indo toe quer toe adicionar valores em nossa nova matriz. Dentro do push, parênteses colocarão seu argumento. É a matriz de previsão no índice de contador atual. Neste caso é o objeto com um valor chave pares de dia segunda-feira, sol verdadeiro e umidade 10. Dentro desse objeto, colocamos umidade de ponto, o que significa que estamos tentando acessar o valor da umidade da propriedade. E é isso que estamos empurrando para nossa nova chuva enquanto passamos por todos os valores de nossa matriz atual e os empurramos para nossa nova matriz. Achamos que a matriz úmida e capotável preenchida com valores de 10 101 125 115 e 100. Isso levaria você a acreditar que você provavelmente vai querer manter um guarda-chuva em algum lugar perto de você pelo resto da semana. Agora, como fazemos isso? Com o mapa de função de ordem superior, vamos declarar uma variável chamada úmida. Esta será a nossa matriz. Observe como com o loop for, você teve que inicializar uma nova matriz e atribuí-la à variável em uma etapa anterior. Não neste caso. Mapa sabe que você está indo para criar uma matriz var humano como atribuído o valor da nossa previsão de uma chuva. Em seguida, anexaremos o método do mapa. Passaremos uma função para mapear. Esta é uma função de retorno de chamada que será passado cada elemento em nossa previsão. Uma taxa dará à função um argumento do valor atual para cada elemento t usa como ele passa por cada elemento na matriz. Como já usamos a palavra umidade para uma propriedade em nossa matriz de previsão e úmido para o nome de nossa nova matriz, usamos a palavra umidade para capturar o quão saturadas as áreas. Também poderíamos ter usado a palavra X. Não importa, desde que corresponda ao que vamos usar em nosso bloco de código que entramos. Nós vamos voltar. Testemunhe o elemento atual na matriz com o valor de propriedade da umidade e isso é mais rápido, certo? Toda vez que você usa um mapa, ele tem um loop for. Você adiciona cerca de 15 segundos à sua vida e espero que você veja que isso cria menos oportunidades para corrigir o código errado. Vamos em frente e olhar para mais um exemplo usando mapa. Isso não será nada diferente do que já fizemos, mas espero reforçar alguma sintaxe e linguagem para você. Vamos usá-lo em uma matriz de números. Vamos imaginar que queremos multiplicar todos os nossos números por três. Vamos declarar nossa matriz. Não vai coletar todos os nossos elementos transformados que passaram pelo método mapa irá assiná-lo o valor da nossa matriz de números na matriz de números. Vamos usar o método do mapa. E porque o método do mapa é, ah, função de ordem superior, isso significa que podemos passá-lo de função porque as funções são valor em JavaScript e os valores podem ser passados em Java, script mapa vai passar por cada elemento em nossa matriz. Nosso valor atual é representado pelo argumento numb. Cada elemento em nossa matriz, representado pelo valor atual entorpecido, será multiplicado por três. Isso transformará cada elemento em nosso raio novamente. Isso é diferente do filtro que exclui valores que não são avaliados como true. Isso passa todos os elementos em um estado transformado. Nossa matriz tripla agora tem um valor de 15 30 45 60 e 75. Certo, obrigado por se juntar a mim nesta primeira olhada nos mapas. Vemo-nos no laboratório onde começamos a pôr em prática o que aprendemos. 5. Javascript de básico — programação funcional: de Map Lab: Muito bem, bem-vindos de volta ao laboratório. Em nossa lição, fomos em frente e olhamos para o mapa de funções de ordem superior. Vamos torná-lo uma função de ordem superior é a sua capacidade de aceitar outra função como um argumento. Mapa é um método em uma corrida. Ao contrário do método de filtro, ele não exclui elementos da nova matriz com base em um valor de true ou false. Em vez disso, transforma todos os elementos. O método map transforma uma matriz aplicando uma função a todos os seus elementos e construindo uma nova matriz a partir dos valores de retorno. A nova matriz terá o mesmo comprimento que a matriz de entrada, mas seu conteúdo terá sido mapeado para um novo formulário pela função. Vamos em frente e fazer algum trabalho com o mapa e a nossa lição. Trabalhamos através de uma série de objetos. Então fechamos com uma matriz que triplicamos. Aqui está o seu desafio. Quero que implemente o método do mapa duas vezes. Isso significa que você vai criar uma matriz, e neste ponto você provavelmente vai querer que a matriz tenha valores numéricos, em seguida, quer que você use o método map nele duas vezes. Isso pode parecer complicado, mas neste exemplo, é mais fácil do que você imagina. No script Java, é fácil executar vários métodos ou funções em uma linha. Isso é chamado de encadeamento método. Métodos de encadeamento, também conhecidos como cascata, refere-se a repetidamente chamar um método após outro em um objeto em uma linha contínua de código. Esta técnica abunda em J Query, uma biblioteca JavaScript e outras bibliotecas JavaScript, e é até mesmo comum em alguns métodos nativos de script Java. Eu quero que você pegue uma série de números como em nossa lição, você conduz elit muito parecido com a forma como nós triplicamos. Então eu quero que você mude o mapa método diretamente para o Então eu quero que você mude o mapa método diretamente para isso e adicione um para cada número em nossa taxa original. Vá em frente e dar-lhe um tiro, pausar o vídeo e em poucos momentos vai voltar juntos e encontrar uma solução. Tudo bem, como ir. Vamos em frente e criar uma matriz de números. Todos declaram uma variável chamada números e um filho dos valores de 2468 10 e 12. Bem, então atribuir-lhe uma variável que eu espero pegar são transformados matriz que o método mapa tem trabalhado duas vezes. Se você não entendeu, tudo bem, mas isso é provavelmente muito mais simples do que você pensou. Primeiro assinará a nossa nova matriz. O valor da nossa matriz de números com o método de mapa anexado a que passará um argumento. É uma função de retorno de chamada com o valor atual de molt que será executado contra cada elemento . Eu retornarei este valor atual da matriz vezes dois. Se fôssemos consola, registrá-lo neste ponto, teríamos 48 12 16 2024. Mas lembre-se, nós também queríamos adicionar um ao nosso novo array. Então, qual corrente? O segundo método mapa para ele, como descrevemos antes, é um simples como adicionar um ponto do que anexar outro método mapa. Para que Matt Method passará uma função como o argumento. Esta será uma função de retorno de chamada novamente que funcionou em cada elemento de nosso raio designado com o valor atual de malte. Novamente, nosso bloco de código revela que contra cada valor de molt, vamos adicionar um. Agora, quando executamos o valor de duplo, obtemos uma matriz de 59 13 17 21 e 25. Espero que tenha feito sentido. Vamos em frente e assumir outro desafio. Desta vez eu vou dar-lhe uma matriz de saudações irá declarar uma variável chamada saudação e um sinal em uma matriz preenchida com os elementos de cadeia de Hi Olá, Hey. E obrigado pelo desafio. Quero que transforme esses elementos em uma matriz chamada “Shout”. Quero que transforme cada elemento em uma cadeia maiúscula. Se você não tem certeza de como transformar uma string de minúsculas para maiúsculas, você pode um Google it, que é sempre um bom conselho. Ou você pode voltar para a nossa lição de cordas em nossa seção de blocos de construção. Também é uma escolha sólida. Você está pronto? Espere, tem mais. Uma vez que você tenha criado esta matriz de grito, Eu quero que você então se livre do primeiro elemento e salvá-lo em uma nova variável chamada shout . Oi. Se você precisar de ajuda para tirar um elemento da frente de um array, você pode voltar para a nossa segunda aula ou aula, ou sinta-se à vontade para consultar o Google. Tudo bem, vá em frente e pause um vídeo e dê uma chance em alguns momentos vai voltar juntos e encontrar uma solução. Tudo bem, como eu vou? Espero que você seja capaz de montar isso. Existem várias peças em movimento. Você vai descobrir que como um desenvolvedor em qualquer linguagem de programação, a importância de ser capaz de sintetizar tudo o que você está aprendendo. Estou me juntando. Vamos primeiro criar uma matriz que transforma a nossa matriz de saudação em uma matriz de gritos irá declarar uma nova variável chamada Shout, e vamos enviar-lhe o valor da nossa saudação matriz. Vamos então usar o método do mapa em nosso estupro que vai passar por cada item na ordem A que temos dado um valor atual de saudação. Vamos então chamar a função de retorno de chamada que passamos um mapa e em cada elemento de nossa saudação ou em nosso bloco de código em cada valor atual, vamos retornar o valor com o método para maiúsculas. A letra maiúscula para transforma um valor de string em outra cadeia de caracteres maiúsculas. À medida que passamos por cada elemento em nossa matriz de saudações, acabamos com a matriz de chuveiro. Temos maiúsculas. Oi. Olá. Ei! E obrigado. Espero que consigas ligar esses pontos. Se você queria desafiar a si mesmo, agora você pode criar um array chamado Grite em minúsculas. Na verdade, vamos em frente e fazer isso para ter certeza que isso está afundando. Nós já temos um array de saudação em que tudo é minúsculo. Mas vamos imaginar que isso não existe. E nós queremos transformar todas essas cordas em nossa matriz minúscula irá declarar uma matriz de dedão variável chamada saudação minúscula Bem, filho do valor da nossa matriz show. Bem, então anexe o método do mapa. Vamos passar para o método mat, uma função de retorno de chamada que irá trabalhar em cada um dos valores atuais da nossa matriz com o nome saudação novamente. Então, em nosso código em cada valor de carro, vamos retornar o valor de saudação com o método para minúsculas que transforma uma string em todas as letras minúsculas. Agora, quando olhamos para a variável em minúsculas saudação, obtemos uma matriz com todas as saudações string minúsculas. Tudo bem. A última parte do nosso desafio era salvar a nossa alta do nosso conjunto de chuveiros para uma variável chamada loja alta. Se você voltou em que início lição ray ou procurou no Google espero que encontrou uma solução . O que tira um elemento da frente de uma matriz? O método shift. Então declaramos uma variável chamada alto grito e atribuímos a ela o valor da nossa matriz de chuveiro . Em seguida, vamos usar o método shift para tirar a frente da matriz. Não precisamos preencher o parâmetro. Nós não precisamos de um argumento porque não estamos adicionando nada estavam simplesmente removendo um valor fora da frente da matriz. Então, quando olhamos para o grito alto, ficamos chapados em todas as maiúsculas. Tudo bem, é tudo o que temos. Por agora. Obrigado por dar uma primeira olhada no método do mapa como uma função de ordem superior. Vemo-nos na nossa próxima lição. 6. Javascript de básico — programação funcional:: Bem-vindo de volta a Java. Script O básico. Nesta lição, estamos continuando nosso olhar um programa funcional. Especificamente, estamos olhando para o método de redução em uma corrida. Em nossas lições anteriores, olhamos para Filter, que rejeita elementos baseados em um valor verdadeiro ou falso ao criar uma nova matriz e mapa, que não rejeita nenhum elemento, mas transforma todos eles em uma nova matriz. Vamos voltar para a imagem do Twitter que vimos quando olhamos pela primeira vez para esta seção sobre programação funcional, que nos dá pseudo código para o que as funções de ordem superior. Mapeie, filtre e reduza Do para Matt Way. Veja, há uma função de retorno trabalhando em todos os elementos da matriz. Neste caso, a função é cozinheiro, que cozinhou cada elemento um K A transforma-los em uma nova matriz de hambúrguer pipoca e assim faz Filter, em seguida, usa uma função de retorno de chamada em cada elemento da matriz, chamado É vegetariano e com base em um valor verdadeiro ou falso, retorna todos os valores verdadeiros para outro novo array. Agora vamos reduzir e este pseudo código emoji. Vemos que uma função de retorno de chamada atua em cada elemento em nosso raio, mas faz isso de tal forma que nosso elemento de pipoca e ovos ar reduzido a um elemento neste caso, o fim do trato digestivo. Reduzir é ótimo para a transformação da lista se você não conseguir encontrar um método de transformação da lista pré-barco do que reduzir é para você. O método reduzido aplica uma função contra um acumulador e cada valor da matriz da esquerda para a direita para reduzi-lo a um único valor. Reduzir método executa uma função fornecida para cada valor da matriz. O valor de retorno da função é armazenado e, em seguida, um acumulador. Vamos começar olhando para a sintaxe do método array reduzir aqui temos matriz com o método reduzido anexado a ele. Passamos para a função com os promotores do acumulador matriz de índice de valor atual um valor inicial. O primeiro argumento é teatro Hume, você exaltado Resultado da redução até agora. Se houver um valor inicial, este será no acumulador onde começamos, também conhecido como o valor anterior. Este é o valor cumulativo retornado por meio de cada chamada de volta. Isso é necessário em seguida temos o valor atual. Isso também é necessário. Este é o valor atual do elemento. Em seguida, temos o índice de matriz do elemento atual, seguido pelo objeto matriz ao qual o elemento atual pertence. Tudo bem, vamos em frente e olhar para um exemplo para ver como isso funciona. Vamos declarar uma variável chamada em números irá assiná-lo um valor da matriz com elementos 123 e quatro. Vamos usar o método de redução nesta matriz de números. Vamos passar para ele a função de retorno de chamada com parâmetros para acumulador e corrente, que exigiu um índice e há objeto de raio que são opcionais. Também atacaremos o valor inicial opcional. Agora vamos ver o que eles estão fazendo. O Smith. Parece que está em ação sob o capô. Vamos criar uma coluna para o índice de valor atual acumulador e um objeto de raio também é o resultado para rastrear onde estamos porque demos um método reduzido um valor inicial opcional que vai ficar no acumulador quando começamos. Nosso valor atual é o número um no índice zero da chuva do objeto. O resultado do nosso bloco de código de acumulador mais o valor atual é seis. Lembre-se, isso é como um loop, então vamos continuar nos movendo através de nossa matriz. Não acumulamos valor de seis. Nosso valor atual é para um índice. Um de nosso objeto matriz quando adicionamos o acumulador ao valor atual, retornamos um resultado de oito quando voltamos ao nosso acumulador. Agora com o valor de oito irá adicioná-lo ao valor atual de três no índice para em nossa matriz. Objeto com o resultado de 11. Finalmente, vamos passar mais uma vez. Nosso acumulador tem o valor de 11 adicionado ao valor atual de quatro no Índice três para um total de 15. Lá vai você, uma implementação básica do método de redução em uma corrida. Agora vamos em frente e fazer isso mais uma vez com uma abordagem um pouco mais complexa. Vamos reduzir o múltiplo de aumento dentro de um array em um. Array vai começar, mas declarou-os variável, chamado multi R, que irá assinar o valor da matriz com três elementos dentro dele. Cada elemento um array com dois elementos dentro dele irá anexar um método reduzido para a nossa variável multi r passará para ele. A função de retorno de chamada com os parâmetros de acumulador, índice de valor atual e matriz o único valor que estamos retornando será em relação ao acumulador e à luta atual. Vamos em frente e demonstrar o que está acontecendo sob o capô, com algumas linhas e colunas mostrando como reduzir funciona. Primeiro em nosso acumulador, primeiro em nossa linha de acumulador, já temos um valor inicial dado reboque nos. É uma matriz com o vício de dois negativos e um negativo. Podemos ver em nosso bloco de código que vamos retornar o valor do nosso acumulador neste caso negativo para um negativo e Cassin pode comê-lo. Aprendemos sobre concatenação na seção JavaScript de blocos de construção do curso. Sinta-se livre para voltar para isso ou Google o método gato pode se você precisar de uma atualização. Essencialmente, neste caso, estamos tomando os elementos do array passado como um argumento para o método cat e anexá-los ao final da matriz. O método é anexado a então quando podemos gato lá matriz de zero e um um um índice zero, que é nativo e negativo. Obtemos um valor de retorno de uma matriz de negativo para negativo 10 e um quando repetimos o processo com um valor acumulador de uma matriz de negativo para negativo 10 e um no índice um com uma matriz de eu usei dois e três, e podemos coloque isso no final da matriz para nosso novo valor de retorno. Temos uma matriz de negativo para negativo 1012 e três. Repetimos esse processo mais uma vez, retornando um valor final de uma única matriz com os elementos de negativo para negativo 101234 e cinco. E é isso. Obrigado por dar esta primeira olhada no método de redução de ordem superior para uma corrida. Vemo-nos no laboratório para pôr em prática o que aprendemos. 7. Javascript de básico — programação funcional: Reduce: Muito bem, bem-vindos de volta ao laboratório. Em nossa lição, olhamos para Reduce. Reduzir é ah, função de ordem superior reduzida Leva dois argumentos reduzidos vontade iterada através do nosso raio e retornar um valor para nós reduz mapa flexível e altamente personalizável e filtro. Nós já olhamos para executar um tipo de tarefa específica, mas reduzir tem um alto nível de personalização. Tudo bem, vamos em frente e fazer um problema de prática. Vamos em frente e olhar para uma matriz de objetos, todos declarando variável chamada home runs e atribuído a ele objetos com nomes de propriedades para ordem de batting e atribuir essas propriedades home run número variáveis. Nosso objetivo será somar todos os home runs da nossa linha de rebatidas vai declarar uma variável chamada homers totais e atribuí-lo ao valor de sua matriz home runs e chamou o método de redução sobre ele. Vamos passar o método de redução, uma função de retorno de chamada Onley desta vez para os parâmetros. Não seremos tão descritivos como éramos na lição. Programação funcional geralmente mantém muito simples. Utilizará os parâmetros A e B para o acumulador e o valor atual. Desde que não estamos indo para retornar o índice ou matriz. Nós realmente não precisamos colocá-los em parâmetros como fizemos em nossa lição. Vamos console log são acumulador e valor atual para ver o que eles estão fazendo. No entanto, eu vou apenas colocar a string um cumulativo, seguido pelo parâmetro que irá conter o nosso valor acumulado, seguido por um valor corrente string com este parâmetro correspondente. Então devolva o que procurávamos. O home runs na programação. Tomaremos o nosso valor acumulado à medida que nos movemos através da matriz e adicionaremos o valor atual. Começamos com zero e 12, em seguida, passamos para 12 e 21, em seguida, para 33 28 assim por diante. Quando devolvemos o valor do total de homers, obtemos 194. Tudo bem, vamos em frente e começar com algumas implementações do método reduzido. Com um desafio, eu quero que você crie uma série de números. Vamos usar pelo menos cinco. Eu então quero que você use o método de redução para encontrar a soma de todos os números. Em seguida, eu quero que você use o método de redução novamente para encontrar o que todos os números são iguais quando você multiplicá-los juntos. E então eu quero que você faça mais uma coisa que pode exigir um pouco de poder cerebral. Eu quero que você use o método reduzido para retornar o maior número e um array que será complicado. Você precisará usar alguma lógica se else. Tudo bem, vá em frente e vídeo positivo e dê uma chance vai voltar juntos em alguns momentos e encontrar uma possível solução. Tudo bem, como ir Estes primeiros dois desafios provavelmente não foram um problema para você, mas espero que você tenha permitido solidificar o que você aprendeu através da prática. Vamos criar uma matriz de cinco elementos 5 10 15 2025 Vamos primeiro financiar alguns deles todos. Eu só vou colocar reduzir em nossa matriz números vai passá-lo uma função com Parâmetros X e Y. Lembre-se, estes são os mesmos que o nosso valor acumulado e valor atual Bem, em seguida, retornar o valor final depois de termos passado pela matriz. Quando fazemos um rápido registro de pontos do cônsul, vemos que cinco mais 10 é 15. 15 mais 15 é 30 30 mais 20 é 50 e 50 mais 25 é 75. Agora vamos fazer o produto de todos os valores nos números Array virá com essencialmente o mesmo código, mas em vez do operador adições usará o operador de multiplicação. Temos cinco vezes 10 para o valor 50 seguido por 50 vezes 15 para um total de 750 e assim por diante até terminarmos a nossa matriz com o total de 375.000. Certo, hora de um grande desafio. Isso exigirá que você pense um pouco. Você vai usar o método reduzido para passar por nossa matriz e retornar o elemento com o maior valor. Vejamos uma possível solução. Vamos usar um método reduzido na matriz de números vai voltar para os nossos parâmetros de um valor cumulativo e atual. Então vamos correr para uma declaração condicional. Nossa palavra-chave se vai nos forçar a perguntar se a expressão entre os parênteses é verdadeira ou falsa. Se for verdade, entramos no bloco co. Se for falso, passaremos por cima dela. Se for verdadeiro, irá retornar o atual um valor cumulativo se false retornará o valor atual. Vamos em frente e mudar nosso array para este desafio. Vamos mudar as ordens. Um 10 5 2025 15 e nossa primeira execução através do nosso valor cumulativo será 10 e vamos perguntar se é maior do que o nosso valor atual de cinco. Isso é verdade, então vamos retornar o valor cumulativo de 10 neste ponto. Mas vamos continuar a reiterar através da nossa matriz, então vamos pedir o próximo elemento da nossa taxa. 20 como um elemento atual é menor do que o valor acumulado A que é falso. Então vamos para a nossa outra declaração retornando nosso valor de elemento atual de 20. Continuamos a percorrer o nosso raio até que retornemos o valor de 25 como um único valor da matriz que é o maior. Tudo bem, vamos em frente e fechar com um último exemplo que vamos praticar juntos. Vamos usar o método do mapa e o método reduzido. Juntos, vamos usar o método mapa em uma matriz para retornar uma nova matriz. Então vamos usar o método reduzido nesse array para retornar o novo valor da bateria , na verdade, em vez de fazer isso juntos. Vamos fazer disso um desafio. Você tem tudo o que precisa para fazer isso facilmente. Pode levar algum poder cerebral e lembrar o método de encadeamento que vimos nas lições anteriores , mas você pode fazer isso sozinho. Vá em frente e pause o vídeo, e então vamos nos reunir em alguns momentos e encontrar uma solução. Tudo bem, como ir? Vamos em frente e criar em números. Array irá declarar uma variável e o filho da matriz com os elementos 123 e quatro. Vamos primeiro implementar o método do mapa. Todos vão em frente e transformem cada elemento na matriz, multiplicando-o por. Três aplicará o método do mapa. Matriz de números rasgados passará para ele, uma função com o parâmetro de número para representar cada item na matriz que vamos transformar. E nosso bloco de código retornará nossa nova matriz de cada elemento multiplicado por três. Nosso próximo passo é tomar todos os valores desta nova matriz e encontrar lá alguns que vão mudar o método reduzido para o nosso casaco atual. Nós também poderia apenas anexá-lo à variável triplos. Se quiséssemos trabalhar de forma menos eficiente passará para ele. A função de retorno de chamada com os parâmetros A e B representando o valor acumulado mais o valor atual. Nossos valores triplicados são 369 e 12. E agora vamos adicionar esses valores juntos. Três mais seis é nove nove mais nove é 18 e 18 mais 12 é 30 e agora nossa variável tripla tem o valor de 30. Isso é tudo o que temos para um laboratório agora. Obrigado por se juntar a mim e dar uma olhada em reduzir uma ação. Vemo-nos na nossa próxima lição.