Olá pessoal,
Ótima aula porém me sobrou uma dúvida, não consegui entender muito bem o porquê de termos de criar uma nova variável (paciente= pacientes[i]) no início do Loop.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal,
Ótima aula porém me sobrou uma dúvida, não consegui entender muito bem o porquê de termos de criar uma nova variável (paciente= pacientes[i]) no início do Loop.
Olá Thiago, tudo bem com você?
Foi a abordagem que o professor escolheu para manter o código anterior, veja:
var tdPeso = paciente.querySelector(".info-peso");
var peso = tdPeso.textContent;
var tdAltura = paciente.querySelector(".info-altura");
var altura = tdAltura.textContent;
var tdImc = paciente.querySelector(".info-imc");Todo esse código feito em aulas anteriores tinha como objetivo apenas fazer para um elemento com o nome da variável paciente, agora como temos um array de pacientes e estamos percorrendo 1 a 1 teríamos que mudar para:
var tdPeso = pacientes[i].querySelector(".info-peso");
var peso = tdPeso.textContent;
var tdAltura = pacientes[i].querySelector(".info-altura");
var altura = tdAltura.textContent;
var tdImc = pacientes[i].querySelector(".info-imc");Para indicar que queremos o elemento na posição i** do array de **pacientes, entretanto o instrutor achou mais fácil a abordagem de manter o código que já estava pronto e dizer que:
var paciente = pacientes[i]Dessa maneira temos:
var tdPeso = pacientes[i].querySelector(".info-peso");
// É igual pois pacientes[i] = paciente
var tdPeso = paciente.querySelector(".info-peso");
`Foi apenas uma questão de comodidade :)
Abraços e Bons Estudos!
Eai Geovani, obrigado pela explicação.
Só pra fixar o conteúdo de FOR pra mim, eu tenho duas dúvidas:
1- quando eu gero um loop com o seguinte parâmetro:
for (var x = 1 ; x = 5 ; x++) console.log(x)
ele nunca para. Por que acontece isso? Em teoria quando chegasse no valor 5 ele deveria parar.
2- consigo fazer esse mesmo tipo de loop (fazer com que os numeros se repitam até a expressão final) da mesma forma utilizada no video? Por exemplo:
for (var i = 1 ; i = 5 ; i++){
var x = 1;
var xis = x[i]
console.log(xis)
}
Ou algum código do tipo? Até porque eu já testei esse e não funcionou rs..
Valeu!
Opa Thiago,
ele nunca para. Por que acontece isso?
A questão foi que você declarou de maneira errada, veja:
var x = 1 ; x = 5 ; x++
Quando estamos utilizando o for temos 3 parâmetros:
Na segunda parte quando você diz x=5, no caso, não estamos fazendo uma comparação, apenas dizendo x vale 5 agora, normalmente iremos utilizar os operadores relacionais para comparar esses valores:
Então no caso o que queremos é:
for( var i = 1; i <= 5; i++){
console.log(i)
}Ou seja, inicialize i com valor 1, enquanto i for menor ou igual à 5, iremos incrementar a variável i em +1 em cada iteração
2- consigo fazer esse mesmo tipo de loop (fazer com que os numeros se repitam até a expressão final) da mesma forma utilizada no video? Por exemplo:
Então, para fazer o que o professor fez, precisamos de um array, então vamos supor que temos:
var numeros = [ 7, 5, 2, 1, 8, 9, 15, 72 ];E dessa maneira, todo array tem a propriedade length para saber a quantidade de elementos, dessa forma podemos:
for( var i = 0; i < numeros.length; i++ ){
console.log(numeros[i])Ou seja, inicie a variável i em 0, enquanto i for menor que numeros.length ( no caso 8), incremente em 1 a variável i por iteração:
Dentro do nosso for estamos falando, pegue dentro do array de números, o valor que está na posição ( através da notação de colchetes [ ]) i, então por exemplo na primeira iteração:
console.log( numeros[i] )
console.log( numeros[0] )
>> 7Veja que não podemos usar menor igual dentro desse for pois dessa forma iriamos de 0 até 8, e precisamos lembrar que um array vai da posição 0, até (quantidade - 1)
No seu exemplo não podemos fazer x[i], pois você declarou x como apenas um número e não um array, o [ ] serve para obter posições do array :)
Conseguiu Compreender? Abraços e Bons Estudos!