JavaScript - Operación aritmética dentro de array

 
Vista:
Imágen de perfil de Giovanni
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Operación aritmética dentro de array

Publicado por Giovanni (79 intervenciones) el 28/03/2020 05:56:47
Buenas, verán lo que pasa es que estoy tratando de hacer una función que resuelva parábolas verticales y en el proceso me topé con un inconveniente. La función no returna ningún valor numérico y da error en la declaración de la variable deltaS según el navegador (google chrome). El código javascript es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function parabola(x1=0, y1=0, x2=0, y2=0, x3=0, y3=0){
 
    var res1 = new Array(x1, y1, 1, (x1 * x1 * -1));
    var res2 = new Array(x2, y2, 1, (x2 * x2 * -1));
    var res3 = new Array(x3, y3, 1, (x3 * x3 * -1));
    var res1 = new Array(x1, y1, 1, (x1 * x1 * -1));
    var res2 = new Array(x2, y2, 1, (x2 * x2 * -1));
 
    var deltaS = new Array(res1[0] * res2[1] * res3[2]);
    deltaS[0]           +=(res2[0] * res3[1] * res1[2]);
    deltaS[0]           +=(res3[0] * res1[1] * res2[2]);
 
    deltaS[1]           +=(res2[0] * res1[1] * res3[2]);
    deltaS[1]           +=(res1[0] * res3[1] * res2[2]);
    deltaS[1]           +=(res3[0] * res2[1] * res1[2]);
 
    deltaS[0] = deltaS[0] - deltaS[1];
 
    return deltaS[0];
}
 
document.write(parabola(-3,-7,-1,1,0,2));

Espero sus respuestas y desde ya les agradezco cualquier ayuda :)
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
sin imagen de perfil
Val: 91
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Operación aritmética dentro de array

Publicado por Alfredo (36 intervenciones) el 29/03/2020 08:07:35
Saludos Giovanni,

Varios comentarios:
1. res1 y res2 los estas definiendo dos veces
2. Cuando declaras 'var deltaS = new Array(res1[0] * res2[1] * res3[2]);' con los valores que estas pasando le estas diciendo que cree un arreglo de tamaño -3 no que cree un arreglo con el elemento -3 en la primera posición.
3. deltaS[1] al principio es undefined si usas += a un undefined te devuelve NaN, en tal caso debes darle un valor y luego seguir sumando el resto.
4. Para la delta resultante no es necesario usar un arreglo con dos variables es suficiente.

Espero que estos comentarios te ayuden.


Aquí te dejó el código funcionando.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function parabola(x1=0, y1=0, x2=0, y2=0, x3=0, y3=0){
  var res1 = [x1, y1, 1, (x1 * x1 * -1)];
  var res2 = [x2, y2, 1, (x2 * x2 * -1)];
  var res3 = [x3, y3, 1, (x3 * x3 * -1)];
 
  var delta1 =(res1[0] * res2[1] * res3[2]);
  delta1 +=(res2[0] * res3[1] * res1[2]);
  delta1 +=(res3[0] * res1[1] * res2[2]);
 
  var delta2 =(res2[0] * res1[1] * res3[2]);
  delta2 +=(res1[0] * res3[1] * res2[2]);
  delta2 +=(res3[0] * res2[1] * res1[2]);
 
  return delta1 - delta2;
}
document.write(parabola(-3,-7,-1,1,0,2));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Giovanni
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Operación aritmética dentro de array

Publicado por Giovanni (79 intervenciones) el 31/03/2020 03:36:38
Muchas gracias Alfredo!
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