Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Duda] ¿Cómo podría hacer que reconozca ese NaN como 0?

¿Cómo hacer para que la calculadora funcione sin necesidad de rellenar las casillas en blanco?

Hola, tengo una consulta, para la practica 2 de la clase 2 del curso de logíca de programación nos pidieron crear una función para algunas operaciones matematicas, logré que una sola función jalara todos los inputs de los números, pero las operaciones que funcionan con más de 1 número (promerdio y selección del maximo) no funcionan si no se rellenan las casillas ¿Cómo podría hacer que reconozca ese NaN como 0?, les adjunto el codigo por si teinen alguna idea.

let num1 = 0;
let num2 = 0;
let num3 = 0;

// Selecciona un elemento y un texto para cargarlo en un elemento HTML.
function asignarTextoHtml(elemento, texto){
    let elementoHTML = document.querySelector(elemento);
    elementoHTML.innerHTML = texto;
    return;
}
// Funcion que toma el valor del input 'nombreUsuario' y lo imprime en consola.
function saludoInicial(){
    let nombreUsuario = document.getElementById('nombreUsuario').value;
    let textoGenerico = 'Hola ';
    console.log(textoGenerico+nombreUsuario);
    return;
}

// Funcion que toma valores de los inputs 'numeroUsuario1', 'numeroUsuario2' y 'numeroUsuario3' y los convierte en enteros.
function inputParset(){
    num1 = parseInt(document.getElementById('numeroUsuario1').value);
    num2 = parseInt(document.getElementById('numeroUsuario2').value);
    num3 = parseInt(document.getElementById('numeroUsuario3').value);
    return [num1, num2, num3];
}

// Funcion calculadora que toma un parametro y realiza una operacion matematica.
function calculator (operation){
    let [num1, num2, num3] = inputParset();
    let result = null;
    switch (operation) {
        case 'numeroDoble':
        result = (num1)*2;
        break;
        case 'promedio':
        result = (num1 + num2 + num3) / [num1, num2, num3].length;
        break;
        case 'max':
        result = Math.max(num1, num2, num3);
        break;
        case 'exponente2':
        result = num1 * num1;
        break;
        default:
        alert ('Operacion no valida');
        break;
    }
    if (!isNaN(result)){ 
        console.log (`El resultado de la operacion es ${result}`);
    }
}

// Funcion que imprime un texto en la consola.
function textoConsola(texto){
    console.log(texto);
    return
}

textoConsola ('Hola Mundo');
asignarTextoHtml('h1', 'Clase 02 Practica 02');
asignarTextoHtml('p1', 'Por favor ingrese su nombre');
asignarTextoHtml('p', 'Por favor ingresar un numero del 1 al 10');

Agradezco si tienen alguna sugerencia.