Sumar valores de un array - Forum

Forum Navigation
You need to log in to create posts and topics.

Sumar valores de un array

Buenas, tengo que realizar una suma de un array del tipo [Items.Precio(0)], pense en utilizar un loop pero la verdad es que no se comporta como esperaba y no suma. Según averigüe hay una función en Javascript para realizar esto sin problemas pero al usar puntos en la variable no logro hacerlo funcionar. Hay alguna acción de algún plugin o nativa para sumar los valores de dichos Array. Quizás hacerlo con un loop no funcione bien por razones de que se trata de un array?, además de eso ocupa algunas líneas para hacerlo funcionar.

Para que se entienda, lo que deseo es esto:

[Items.Precio(0)]=20

[Items.Precio(1)]=40

Sumar [Items.precio] y guardar el resultado en [resultado]

[resultado]=60

 

Lo arreglé con un loop más corto, aunque con un arreglo especial:

ArrayLen [items.Precio] [lenitems]
Math "[lenitems]-1" 0 [lenitems]

Loop 0 [lenitems] [looptotal]
Math "[tot]+[items.Precio([looptotal])]" 2 [tot]
endloop

En un ejemplo: La cantidad de items es 3, peroen realidad tendríamos objeto 0, 1, 2. Quizás me estoy complicando la vida con algo simple pero si no resto 1 al conteo de array el loop no funciona como debe ya que la acción ArrayLen cuenta la cantidad total sin interpretar que el 0 en realidad es 1....estoy mal con esta interpretación?...me explico?.

@palamar efectivamente es necesario hacer el loop entre 0 y (ArrayLen-1) para recorrer todos los valores del Array, porque el primer elemento es el 0 y ArrayLen no te indica el número del último elemento sino el número total de elementos.
Esto es así en la mayoría de lenguajes de programación.

Sí, supongo que siempre se me complican los Array y según recuerdo esto no es la primera vez que me pasa  jajaja, por suerte lo he podido resolver, gracias!.

@palamar

@luishp

Perhaps an additional native command e.g. ...

ArrayLastItem [array name] [result var]

.. or even a plugin command e.g. ...

neoArrayMaxItem [array name] [result var]

... which returned [arrayLen]-1 ... might make the task of Loop'ing through the array items a little bit simpler ?

... which returned [arrayLen]-1 ... might make the task of Loop'ing through the array items a little bit simpler ?

@gaev not sure, because you will still need to remember to start on item number zero and not one.
Perhaps a LoopArray, EndLoopArray will be a better solution. What do you think?

@luishp

Yes, that would work as well.

 

Igualmente los Loops no comienzan siempre en 0 por defecto?. Acá el "problema" (y lo pongo entre comillas porque no es tal :P) es que el número alcanzado por el array es 6 cuando en realidad se habla de 5 por lo que el Loop común ya serviría, incluso como esta por defecto. Me explico?.