JavaScript - Funcion para promedio de arrays

 
Vista:

Funcion para promedio de arrays

Publicado por Daniel (2 intervenciones) el 25/02/2021 20:41:06
Tengo un problema con esta función

1
2
3
4
5
6
7
8
9
10
11
12
13
function promediame(array) {
    let sum = 0;
    var b = array.length ;
    for (let i = 0; i < array.length; i++) {
         sum = (sum + array[i]);}
         let prom = (sum/array.length);
         if (array.length=0)
         {return prom=0}
         else
         {return prom}}
 
                 console.log(promediame([5, 3, 1, 8]))
                 console.log(promediame([]))


Todo funciona muy bien cuando hay valores en el array, el problema es que cuando el array.length sea 0, necesito devolver 0/1 o 0 para que al correrlo me devuelva un 0 y no 0/0 porque devuelve NaN, debo resolver todo en una funcion
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 joel
Val: 3.510
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funcion para promedio de arrays

Publicado por joel (894 intervenciones) el 26/02/2021 08:07:28
Hola Daniel, esta super mal tabulado tu código y cuesta mucho de entender y seguir... pero a simple vista veo que la linea 7 tiene un error, tendría que ser igualdad y tienes asinación...
a==b es igualdad
a=b es asignación

Creo que tendria que ser:
1
if (array.length==0)
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 Gio
Val: 251
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funcion para promedio de arrays

Publicado por Gio (45 intervenciones) el 02/03/2021 03:54:02
Hola, en primer lugar, utiliza tu variable "b" en lugar de estar usando "array.length".
Para solucionar el problema que plateas, presta atención a la línea 7 del código, colocaste "=" en vez de "==". El "=" se usa para asignar un valor a una variable y el "==" se usa para realizar una comparación de igualdad entre 2 variables y/o valores.

Finalmente tu código quedaría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function promediame(array) {
    let sum = 0;
    var b = array.length ;
 
    if(b == 0){
        return 0
    } else{
        for (let i = 0; i < b; i++) {
            sum = (sum + array[i]);
        }
        let prom = sum/b
        return prom
    }
}
 
console.log(promediame([5, 3, 1, 8]))
console.log(promediame([]))
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