
Quote from Palamar on March 20, 2021, 2:03 amBuenas, 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
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

Quote from Palamar on March 20, 2021, 3:07 amLo 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] endloopEn 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?.
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?.

Quote from luishp on March 20, 2021, 11:45 am@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.
@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.

Quote from Palamar on March 22, 2021, 3:02 pmSí, 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!.
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!.
Quote from Gaev on March 22, 2021, 4:44 pm@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 ?
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 ?

Quote from luishp on March 22, 2021, 8:28 pm... 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?
... 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?

Quote from Palamar on March 26, 2021, 4:01 pmIgualmente 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?.
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?.