1 00:00:01,113 --> 00:00:03,718 Voltamos com um programa que imprime array de amigos. 2 00:00:03,718 --> 00:00:07,007 Mas tem algo nisso que me deixa irritada. 3 00:00:07,007 --> 00:00:11,295 Sempre que adiciono um novo amigo no array tenho que adicionar um novo texto no fim. 4 00:00:11,295 --> 00:00:13,378 Digamos que adicione Winston. 5 00:00:13,378 --> 00:00:15,211 Ele não irá aparecer automaticamente. 6 00:00:15,211 --> 00:00:22,615 Para aparecer, digito text(MyFriends[3]) e mudamos a posição y e veremos Winston. 7 00:00:23,160 --> 00:00:24,334 É muito trabalhoso. 8 00:00:24,854 --> 00:00:30,699 Sempre que adicionar algo ao array, quero que o texto seja adicionado automaticamente 9 00:00:31,807 --> 00:00:34,496 Você se lembra de quando aprendemos laços? 10 00:00:34,496 --> 00:00:38,248 Laços de repetição foram um bom modo de repetir o mesmo trecho de código várias vezes. 11 00:00:38,248 --> 00:00:43,273 Como, se quiséssemos ter várias árvores enfileiradas ou um monte de balões. 12 00:00:43,273 --> 00:00:48,914 Laços de repetição é uma excelente maneira de rodar um pedaço de código em cada array 13 00:00:48,914 --> 00:00:53,595 De fato, você verá laço de repetição em quase todas as vezes que ver um array. 14 00:00:53,595 --> 00:00:56,198 Eles trabalham muito bem em conjunto. 15 00:00:57,238 --> 00:00:59,697 Vamos usar laços de repetição para imprimir na tela nomes de amigos, 16 00:00:59,697 --> 00:01:03,576 ao invés de usar todos esses comandos, para mostrar o que eu quero dizer. 17 00:01:03,576 --> 00:01:07,655 Comecemos com três perguntas que sempre nos fazemos quando criamos um laço. 18 00:01:07,655 --> 00:01:11,819 Primeiro, o que eu quero repetir? Veja. O que é repetido? O comando texto. 19 00:01:11,819 --> 00:01:16,445 O que quero mudar toda vez? Bem, deixe-me ver o que é diferente. 20 00:01:16,445 --> 00:01:19,991 A posição 'y' e o atual 'index', certo ? 21 00:01:19,991 --> 00:01:25,478 O número do amigo e a posição 'y'. 22 00:01:25,698 --> 00:01:30,868 E quantas vezes devo repetir? Bem, repetiremos até que não haja mais amigos. 23 00:01:33,078 --> 00:01:36,192 Então agora sabemos o que queremos, e podemos criar nosso laço. 24 00:01:36,192 --> 00:01:39,836 Começamos com a variável counter para sabermos em que lugar do laço estamos. 25 00:01:39,836 --> 00:01:43,350 Então vou dizer var friendNum = 0; 26 00:01:44,190 --> 00:01:49,508 Inicializaremos como zero, pois ele é o o primeiro elemento do array, e não 1. 27 00:01:49,508 --> 00:01:57,031 Teremos o nosso laço while, então diremos while(friendNum < myfriends.length). 28 00:01:57,031 --> 00:02:02,426 Iremos comparar o valor atual de "counter" com a variável número de objetos no array. 29 00:02:03,696 --> 00:02:06,906 Dentro do laço, será onde usaremo o comando "text". 30 00:02:06,906 --> 00:02:10,776 Diremos, text(myFriends) - e aqui, ao invés do número 31 00:02:10,776 --> 00:02:13,578 colocaremos friendNum porque representa o número atual. 32 00:02:14,218 --> 00:02:17,929 E então colocaremos apenas uma posição. 33 00:02:17,929 --> 00:02:21,060 Isto nos dá um pequeno erro de repetição infinita 34 00:02:21,060 --> 00:02:25,343 porque não mudamos de fato nada no friendNum. 35 00:02:25,343 --> 00:02:27,766 Lembre-se, precisamos incrementar friendNum toda vez 36 00:02:27,766 --> 00:02:31,540 caso contrário o laço sempre se repetirá pois a condição sempre será verdadeira. 37 00:02:31,900 --> 00:02:38,030 Vi que algo aconteceu. Comentarei o outro código para poder ver o que houve. 38 00:02:38,030 --> 00:02:42,891 O que temos é que mostramos todos os nomes, mas eles um em cima do outro. 39 00:02:42,891 --> 00:02:45,017 Então, precisamos mudar posição 'y'. 40 00:02:45,017 --> 00:02:49,576 Vamos dizer apenas 'friendNum * 30'. 41 00:02:49,976 --> 00:02:54,611 Ficou bom, mas Shophia está fora da tela e ela não vai ficar feliz se descobrir isso. 42 00:02:54,611 --> 00:02:59,219 Então, vamos adicionar apenas 30. Agora todos aparecendo com 30. 43 00:03:00,709 --> 00:03:03,847 Agora você verá que temos um laço para imprimindo nosso array. 44 00:03:03,847 --> 00:03:08,585 Isso significa que se adicionarmos mais pessoas como OhNoesGuy, ou até mesmo Sal, 45 00:03:08,585 --> 00:03:13,384 se eu incluí-los no array, então Sal será meu amigo. Legal! Agora ele é meu colega. 46 00:03:13,384 --> 00:03:20,089 Você vê que aparece automaticamente novos amigos pois está percorrendo todo o array. 47 00:03:20,089 --> 00:03:23,671 Então podemos apagar nosso código antigo. Não precisamos mais dele. 48 00:03:24,031 --> 00:03:27,696 Vamos dar uma olhada nesse código novamente e revisar o que ele faz. 49 00:03:28,556 --> 00:03:31,037 Começamos com friendNum = 0;. 50 00:03:31,257 --> 00:03:33,868 Verificamos se friendNum é menor que o tamanho atual. 51 00:03:33,868 --> 00:03:37,533 Então imagine que zero é menor que seis. O que é verdade. 52 00:03:37,943 --> 00:03:41,641 Então vamos pra cá e dizemos que 'text', é igual valor de firendNum. 53 00:03:41,641 --> 00:03:43,892 Isso vai virar zero, a primeira vez. 54 00:03:43,892 --> 00:03:47,234 E então 30 mais zero 30. 55 00:03:47,234 --> 00:03:53,185 Sophia aparece na posição 10 e 30. É o que isso faz. 56 00:03:53,185 --> 00:03:55,822 E então friendNum++, e vira 1. 57 00:03:55,822 --> 00:03:59,795 E código recomeça e valida, "Ok, 1 é menor que o myFriends.Lenght? Sim é." 58 00:03:59,795 --> 00:04:01,718 E continua e continua e continua. 59 00:04:01,718 --> 00:04:04,249 E então chegamos ao Sal, lembre, 60 00:04:06,140 --> 00:04:09,102 Sal é atualmente o sexto elemento no array, mas seu índice é 5, 61 00:04:09,102 --> 00:04:10,806 já que começamos com zero. 62 00:04:10,806 --> 00:04:13,517 Então, cinco é menor que seis? Sim. 63 00:04:13,517 --> 00:04:15,796 Então vai imprimir 'myFriends' cinco. 64 00:04:15,796 --> 00:04:21,332 E então vira seis e validamos. "Seis é menor que seis?" Não, é igual. 65 00:04:21,332 --> 00:04:25,518 Então será falso. Nunca apresentaremos o sexto elemento. 66 00:04:25,518 --> 00:04:29,250 O que é bom porque não há nada na sexta posição. 67 00:04:29,250 --> 00:04:33,152 Há um sexto elemento, mas não há nada dentro. 68 00:04:33,152 --> 00:04:38,922 Pode ser bem confuso, o fato de ser zero e um, mas você pega o jeito. 69 00:04:38,922 --> 00:04:42,000 Muito bem, esse é nosso laço. 70 00:04:42,000 --> 00:04:46,362 Agora, se você quiser, você pode usar um laço do tipo "for" se você preferir. 71 00:04:46,362 --> 00:04:54,065 Para laços do tipo "for", dizemos apenas 'for' e var friendNum=0; e a condição . 72 00:04:54,065 --> 00:04:57,602 friendNum < myFriends.length; 73 00:04:57,602 --> 00:05:00,817 e o incremento: friendNum++ 74 00:05:00,817 --> 00:05:06,312 E então dentro do laço 'for', podemos colocar somente essa linha de código aqui. 75 00:05:06,312 --> 00:05:09,228 E apenas mudarei o 'x' para que você possa ver. 76 00:05:09,228 --> 00:05:11,534 O resultado é o mesmo. 77 00:05:12,874 --> 00:05:19,261 Você que decide qual usar, mas a questão é usar um laço com o array dará mais poder. 78 00:05:19,261 --> 00:05:22,000 Legendado por [Valter Bigeli] Revisado por [Fernando dos Reis]