
Simplificar Funciones Cadenas Array
Publicado por Jose (4 intervenciones) el 20/08/2017 04:23:55
Saludos chicos, he diseñado un proyecto que tal como esta funciona de manera perfecta pero me gustaria saber si me pueden orientar en como simplificar el codigo motivado a que el mismo posee muchas entradas que explicare al mostrar el código en cuestion:
Las funciones Liquido y Solido permiten tratar a los valores de las respectivas variables, al ser aprox 200 entradas quiere decir que el codigo:
VARIABLE.v = (VARIABLE.v*1000).toFixed(2)+gr;
y el codigo
if (VARIABLE.v*1000>=1000){VARIABLE.v=(VARIABLE.v).toFixed(2)+kl;}else {VARIABLE.v=(VARIABLE.v*1000).toFixed(2)+gr;};
debo repetirlo tantas variables esten incluidas.
He analizado lineas for pero no logro atinar para diseñar el codigo he utilizado una cadena de concatenaciones de Calc que me ayudan a copiar y pegar segun el nombre de la variable con una formula como esta =CONCAT(A4;".v = ";"(";A4;".v*1000).toFixed(2)+";SI(D4="s";"gr";"ml");";") Para tener como resultado esto: VARIABLE.v = (VARIABLE.v*1000).toFixed(2)+gr;
Es de importancia hacer notar que los resultados obtenidos en las funciones anteriores son utilizados por funciones de salida que interactuan directamente con los datos de salida, el fragmento de codigo al que hago referencia es este:
Gracias de antemano por la colaboración que puedan brindarme.
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
// VARIABLE DE MATERIA PRIMA EXISTEN COMO 200 ENTRADAS
// .n = Nombre .v = Valor .t = Tipo de Materia Prima liq = Liquido sol = Solido
agu = {n: 'Agua H2O = ', v: 0, t: 'liq'};
texa = {n: 'Texapon = ', v: 0, t: "sol"};
alcet = {n: 'Alcohol Cetilico - CH3 (CH2)15OH = ', v: 0, t: "liq"};
aceric = {n: 'Aceite de Ricino = ', v: 0, t: "liq"};
// FUNCION LIQUIDO
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;
aceric.v = (aceric.v*1000).toFixed(2)+ml;
aciace.v = (aciace.v*1000).toFixed(2)+ml;
}
else {
tcbl=" Litros de ";
if (agu.v*1000>=1000){agu.v=(agu.v).toFixed(2)+li;}else{agu.v=(agu.v*1000).toFixed(2)+ml;};
if (alcet.v*1000>=1000){alcet.v=(alcet.v).toFixed(2)+li;}else{alcet.v=(alcet.v*1000).toFixed(2)+ml;};
if (aceric.v*1000>=1000){aceric.v=(aceric.v).toFixed(2)+li;}else{aceric.v=(aceric.v*1000).toFixed(2)+ml;};
if (aciace.v*1000>=1000){aciace.v=(aciace.v).toFixed(2)+li;}else{aciace.v=(aciace.v*1000).toFixed(2)+ml;};
}
}
// FUNCION SOLIDO
function solido(UI){
if (UI<=1){
tcbs=" Kilo de ";
texa.v = (texa.v*1000).toFixed(2)+gr;
cmc.v = (cmc.v*1000).toFixed(2)+gr;
sal.v = (sal.v*1000).toFixed(2)+gr;
cvp.v = (cvp.v*1000).toFixed(2)+gr;
}
else {
tcbs=" Kilos de ";
if (texa.v*1000>=1000){texa.v=(texa.v).toFixed(2)+kl;}else {texa.v=(texa.v*1000).toFixed(2)+gr;};
if (cmc.v*1000>=1000){cmc.v=(cmc.v).toFixed(2)+kl;}else{cmc.v=(cmc.v*1000).toFixed(2)+gr;};
if (sal.v*1000>=1000){sal.v=(sal.v).toFixed(2)+kl;}else{sal.v=(sal.v*1000).toFixed(2)+gr;};
if (cvp.v*1000>=1000){cvp.v=(cvp.v).toFixed(2)+kl;}else{cvp.v=(cvp.v*1000).toFixed(2)+gr;};
}
}
Las funciones Liquido y Solido permiten tratar a los valores de las respectivas variables, al ser aprox 200 entradas quiere decir que el codigo:
VARIABLE.v = (VARIABLE.v*1000).toFixed(2)+gr;
y el codigo
if (VARIABLE.v*1000>=1000){VARIABLE.v=(VARIABLE.v).toFixed(2)+kl;}else {VARIABLE.v=(VARIABLE.v*1000).toFixed(2)+gr;};
debo repetirlo tantas variables esten incluidas.
He analizado lineas for pero no logro atinar para diseñar el codigo he utilizado una cadena de concatenaciones de Calc que me ayudan a copiar y pegar segun el nombre de la variable con una formula como esta =CONCAT(A4;".v = ";"(";A4;".v*1000).toFixed(2)+";SI(D4="s";"gr";"ml");";") Para tener como resultado esto: VARIABLE.v = (VARIABLE.v*1000).toFixed(2)+gr;
Es de importancia hacer notar que los resultados obtenidos en las funciones anteriores son utilizados por funciones de salida que interactuan directamente con los datos de salida, el fragmento de codigo al que hago referencia es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}
Gracias de antemano por la colaboración que puedan brindarme.
Valora esta pregunta


0