# How do I build an expression to alter a list of numbers?

I have an API call that is returning an array. I am loading a list of those numbers using the each items: value function in the expression builder. The list is currently: 50,100,30

I would like to scale those numbers down by 10 then add 5 to them.

Goal is a result set: (50/10)+5 = 10, (100/10)+5 = 15, (30/10)+5 = 8
Result set: 10, 15, 8

Unsure how to build an expression which does this. Any suggestions?

To do this in vanilla Bubble you can do the following:

Take the list of numbers and use the `:format as text` operator

For each list item, enter` (This Number/10) +5` and use `,` as the delimiterâ€¦ that will output a single string: `"10,15,8"`

Use `:split by ,` to split that into a list of texts (`"10", "15", and "8"`)

Then use `:each item converted to number` to convert that list of texts into a list of numbers (`10, 15, and 8`)

3 Likes

And we scream, yet again, into the void, â€śwhy donâ€™t those chuckleheads at Bubble just add a proper :map operator to lists!?â€ť

3 Likes

You nailed it! I was able to get it working first try once I read your post.

So to summarize: If you are looking so see how you can do math on a string of numbers in Bubble.io is simple - just convert it to text!

As to why I have to do that in order to do such a basic programming functionâ€¦ I am just baffled.

@josh @emmanuel Please consider closing the obvious gap here.

@mc3digital: Note that this only works because of JavaScriptâ€™s type coercion features and will work fine for many but not all use cases.

(For example, letâ€™s say you have two lists of numbers and you want to multiply each number in list 1 by the corresponding value in list 2. For such cases, one can use the List Math action in Floppy [which also has a server-side action equivalent], or the PROCESS List action in List Shifter [now found in Floppy].)

2 Likes

This topic was automatically closed after 70 days. New replies are no longer allowed.