JavaScript - Ayuda con este ejercicio

 
Vista:

Ayuda con este ejercicio

Publicado por rodrigo (6 intervenciones) el 06/09/2019 14:56:39
Necesitamos una función que reciba un array de números y devuelva el resultado de multiplicar todos sus elementos entre ellos.

Por ejemplo, productoria([1, 4, 7]) debe devolver 28, que es 1 * 4 * 7.

Yo hice algo así no se si voy por buen camino


function resa(ese){for(i=0;i<ese.length;i++){

console.log(ese[i]*)

}



}

resa([1,2,3,4]);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.365
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con este ejercicio

Publicado por Alejandro (289 intervenciones) el 06/09/2019 15:51:15
Puedes empezar por indentar decentemente tu código
Tu for, aunque tiene el error de la mayoría de programadores (no es tan grabe), funciona correcto.
La sentencia console.log(ese[i]*) es errónea pues multiplica un elemento por nada
1
2
3
4
5
6
7
8
9
function resa(ese){
   res=1;
   for(i=0, t=ese.length; i<t; i++){
      res*=ese[i];
   }
   return res;
}
 
console.log(resa([1,2,3,4]));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con este ejercicio

Publicado por Rodrigo (6 intervenciones) el 06/09/2019 16:43:45
Disculpa que te vuelva a molestar soy nuevo en esto y me gustaría entenderlo , porque creaste en el for una nueva variable(t), y segundo porque creaste la variable res
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.365
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con este ejercicio

Publicado por Alejandro (289 intervenciones) el 06/09/2019 17:17:04
De esta forma for(i=0; i<ese.length; i++) en cada iteración se realiza el calculo de ese.length, entre mas elementos tenga el array mas lenta sera la ejecución del programa.

De esta forma for(i=0, t=ese.length; i<t; i++) el calculo de ese.length solo se realiza en el momento de la asignación a la variable.

La variable res acumula el resultado de la multiplicación del resultado anterior por el elemento del array en curso y se inicializa en 1 pues porque todo numero multiplicado por 0 es 0
1
2
3
4
0*1=0 | 1*1=1
0*2=0 | 1*2=2
0*3=0 | 2*3=6
0*n=0 | a*n=x
Si en tu array existe algún 0 el resultado es 0 y no tiene caso continuar el bucle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con este ejercicio

Publicado por Rodrigo (6 intervenciones) el 06/09/2019 22:25:56
Disculpa la última consulta la variable "res "no tendría que valer siempre 1 por lo tanto no sería 1x1,1x2,1x3 y otra pregunta porque no da error poner el símbolo*delante =.



Disculpa soy muy novato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.365
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con este ejercicio

Publicado por Alejandro (289 intervenciones) el 07/09/2019 00:55:48
Todo numero multiplicado por 1 te da el mismo numero, no tiene caso multiplicar un array por 1 pues el resultado es el mismo array
Los operadores aritméticos son de las primeras cosas que se aprende en cualquier lenguaje de programación.
Si vas iniciando el mejor consejo que te puedo dar es que leas un libro.

Básicamente res*=ese[i]; es la abreviación de res = res * ese[i];
1
2
3
4
5
res=1
res=res*2 | res=1*2
res=res*3 | res=2*3
res=res*4 | res=6*4
res=res*5 | res=24*5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con este ejercicio

Publicado por Rodrigo (6 intervenciones) el 07/09/2019 15:29:59
Ahora lo entendí me puse leer un libro como vos dijiste , me quedo claro , gracias genio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con este ejercicio

Publicado por Ro (6 intervenciones) el 07/09/2019 17:03:50
Me podés ayudar con este por favor:


Queremos representar una escalera de altura variable, utilizando un array de strings.

Por ejemplo, a una escalera de altura 3, la representamos con el siguiente array:

1
2
3
4
5
var escalera3 = [
  "  #",
  " ##",
  "###"
]
Y a una escalera de altura 5, de la siguiente forma:

1
2
3
4
5
6
7
var escalera5 = [
  "    #",
  "   ##",
  "  ###",
  " ####",
  "#####"
]
Escribí una función escalera que tome una altura (un número) y devuelva un array que represente a la escalera correspondiente.





Yo hice esto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function productoria(mancho){
 
    var  escala=["#"]
 
 
    for( i=0;i<mancho;i++){
 
        escala.push(escala.repeat[i])
 
    }
    return escala;
 
}
console.log(productoria(12))

Pero me da error no se que está mal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar