JavaScript - SIMPLIFICANDO CODIGO

 
Vista:
Imágen de perfil de Jose

SIMPLIFICANDO CODIGO

Publicado por Jose (4 intervenciones) el 19/01/2018 02:24:13
Saludos chicos/as estoy simplificando un codigo que basicamente lo que hace es aceptar un valor UI y le da un tratamiento y una respectiva salida, lo he trabajado originalmente con variables y si ha funcionado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
agu = {n: 'Agua H2O = ', v: 0, t: 'liq'};
texa = {n: 'Texapon = ', v: 0, t: "sol"};
 
// ESTA FUNCION LE DA UN TRATAMIENTO A TODA VARIABLE QUE SEA LIQUIDA CON UN IF
function liquido(UI){
if (UI<=1){
tcbl=" Litro de ";
agu.v = (agu.v*1000).toFixed(2)+ml;
alcet.v = (alcet.v*1000).toFixed(2)+ml;
 
//FUNCION DE PRUEBA DE FUNCIONES Y APLICACION EN GENERAL
function prueba() {
var UI=document.getElementById('entradaPrueba').value;
if(isNaN(UI)){return false;}
producto = "Producto de Prueba de un SOLIDO";
agu.v = UI*91.8/100;
texa.v = UI*3/100;
liquido(UI);
solido(UI);
resul =
tca+UI+tcbl+producto+tcc+br+
a+agu.n+agu.v+br+
b+texa.n+texa.v+br;
 
var procedimiento="<h1>PROCEDIMIENTO:</h1> PRODUCTO DE PRUEBA";
 
document.getElementById('salida').innerHTML=resul,
document.getElementById('procedimiento').innerHTML=procedimiento;
}

Pero al intentar trabajar con un arreglo se me ha complicado imagino que por mi inexperiencia, igual no dejo de leer fundamentos JS pero si alguno puede leer el codigo y brindar su opinion quedare agradecido.

Logica:
Se recibe un dato que es procesado
dicho dato segun de donde venga se ejecutaran funciones particulares, pero las funciones que seran comunes y no se coimo plantearlas son:
1.- si el valor t de componente es liq sea tratado como liquido y si es sol sea tratado como solido, lo que practicamente varia es si es ml o gr o si es litros o kilos o litro o kilo,
2.- al correr el ciclo for dentro del ciclo si me da resultados via consola, pero al hacerlo con una function la misma no me deja seleccionarla por fuera del ciclo, tengo el codigo funcionando con un codigo mucho mas largo logicamente y lo que quisiera es simplificar, aqui dejo el nuevo codigo donde estoy trabajando.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//DEFINIENDO ENTRADA DE VARIABLES AL SISTEMA
function entrada(){
    if(UI=document.getElementById('entradaPruebaDos')){pruebaDos();}
    else if(UI=document.getElementById('entradaPrueba')) {prueba();}
    }
 
 
//VALIDAR SI VALOR INGRESADO ES VALIDO
function validarSiNumero(UI){
    if (!/^([0.1-9])*$/.test(UI)){
    //alert("El valor  " + UI + " no es un número valido, intente utilizar numeros desde 0.1 hasta la cantidad de litros que usted desee fabricar");
var alerta = "EL VALOR INDICADO: <b>" + UI + "</b> NO ES UN NUMERO VALIDO<br> INTENTE UTILIZAR NUMEROS DESDE 0.1 HASTA LA CANTIDAD DE PRODUCTO QUE USTED DESEE FABRICAR";
    document.getElementById('salida').innerHTML=
alerta;
}
else if (UI==""){
var nada = "NO HA ESCRITO NADA INTENTE UTILIZAR NUMEROS DESDE 0.1 HASTA LA CANTIDAD DE PRODUCTO QUE USTED DESEE FABRICAR";
document.getElementById('salida').innerHTML=
nada;}
else if (UI==0){
var nada = "CERO (0) NO ES UN NUMERO VALIDO INTENTE UTILIZAR NUMEROS DESDE 0.1 HASTA LA CANTIDAD DE PRODUCTO QUE USTED DESEE FABRICAR";
document.getElementById('salida').innerHTML=
nada;}
else { entrada();
}}
 
 
 
 
 
//DEFINIENDO VARIABLES GLOBALES
ml=" Mililitros";
li=" Litros";
gr=" Gramos";
mg=" Miligramos";
kl=" Kilogramos";
 
tca="Para hacer ";
tcc=" se requieren:"
 
 
// ARREGLO
var componente = new Array();
/*
a: Abreviacion Formula
n: Nombre con espacio igual espacio ( = )
v: valor inicial
t: tipo de componente true para liq y false para sol
*/
componente[0] = {a: "agu", n: 'Agua H2O = ', v: 0, t: "liq"};
componente[1] = {a:"texa", n: 'Texapon = ', v: 0, t: "sol"};
componente[2] = {a:"alcet", n: 'Alcohol Cetilico -  CH3 (CH2)15OH = ', v: 0, t: "liq"};
componente[3] = {a:"aceric", n: 'Aceite de Ricino  = ', v: 0, t: "liq"};
componente[4] = {a:"acemin", n: 'Aceite Mineral  = ', v: 0, t: "liq"};
//console.log(componente[4].n);
 
// CICLO FOR
function repeticion(){
 for (n=0; n < componente.length; n++) {
 //console.log(componente[4].n); RESULTADO "Aceite Mineral  =" 
 //console.log(componente[n].v); RESULTADO 0 REPETIDO 5 VECES
   };
}
 
//DEFINIENDO FUNCIONES
function liquido(UI){
    if (UI<=1){
    //tcbl=" Litro de ";
    componente[n].v = (componente[n].v*1000).toFixed(2)+ml;
    }
    else {
   // tcbl=" Litros de ";
    if    (componente[n].v*1000>=1000){componente[n].v=(componente[n].v).toFixed(2)+li;}
    else {
        componente[n].v=(componente[n].v*1000).toFixed(2)+ml;};
    }
    }
 
 
 
//PRUEBA
function prueba() {
    var UI=document.getElementById('entradaPrueba').value;
    if(isNaN(UI)){return false;}
    producto = "Producto de Prueba de un SOLIDO";
    componente[0].v = UI*91.8/100;
    componente[1].v = UI*3/100;
    liquido(UI);
    solido(UI);
    resul = "Se Requieren " + componente[0].v + "de " + componente[0].n + "</br>"+
    "Se Requieren " + componente[1].v + "de " + componente[1].n;
 
    var procedimiento="<h1>PROCEDIMIENTO:</h1> PRODUCTO DE PRUEBA";
 
    document.getElementById('salida').innerHTML=resul,
    document.getElementById('procedimiento').innerHTML=procedimiento;
    }

ADJUNTO LIBRERIAS calculo.js archivo original y calculos.js el archivo que estoy modificando
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