Equalizing fractions When I was in grade 3, we were taught how to solve a very simple math problem. It was equaling the denominators of two or more fractions.
Let's take two proper fractions:-
$$
\frac{1}{2},\frac{2}{3}
$$
First we will take the Least Common Multiple of the denominators of the two fractions, the LCM of \$2,3\$ are \$6\$. Then we divide the LCM (\$6\$) by the denominators of both fractions (\$6\$) and we get \$3,2\$ and serially multiply them with the numerators of the both fractions and get
$$
\frac{3}{6},\frac{4}{6}
$$
And that's the result.
Challenge
Take two or more fractions, and equalize their denominators.
I/O format
You can take an array/list of (numerator,denominator) pairs. Pre-defining them in TIO header is allowed. You can take in other better ways too.
Input: ((1,2),(2,3)) or
        1,2 2,3
        1/2 2/3
Output: (3,6),(4,6) or 
        3,6 4,6 
        3/6 4/6
Input:  ((1, 8), (5, 12))
       1,8 5,12
       1/8 5/12
Output: ((3, 24), (10, 24))
         3,24 10,24
         3/24 10/24
Input: ((1, 2),(2, 3),(4, 6))
Output: 3/6 4/6 4/6

Rules

Standard loopholes are forbidden. (except use of TIO headers to pre-define input)
Trailing whitespace in output is allowed.
If possible, please link to an online interpreter (e.g. TIO) to run your program on.
Please explain your answer. This is not necessary, but it makes it easier for others to understand.
Languages newer than the question are allowed. This means you could create your own language where it would be trivial to do this, but don't expect any upvotes.
This is code-golf, so shortest code in bytes wins!
JavaScript (Node.js), 63 bytes

f=(a,t=1)=&gt;a.some(v=&gt;t%v[1])?f(a,1+t):a.map(([p,q])=&gt;[p*t/q,t])

Try it online!

JavaScript (Node.js), 63 bytes

f=(a,t,b=a.map(([p,q])=&gt;[m=p*t/q,o&amp;=m%1||t],o=t))=&gt;o?b:f(a,-~t)

Try it online!
m=p*t/q cannot be changed to p*=t/q due to floating point errors. For example, 11*15/11 is 15, but 11*(15/11) is 14.999999999999998. :(

The first answer here will output [[6, 12], [6, 12]]  for input [[2, 4], [3, 6]].
The second one will output [[1, 2], [1, 2]] for input [[2, 4], [3, 6]].


JavaScript (Node.js), 62 bytes

@Arnauld had modified the code to make it work in 62 bytes. This one would support positive fractions.


f=(a,t,o=-~t,b=a.map(([p,q])=&gt;[p*t/q,t+=p*t%q]))=&gt;t&lt;o?b:f(a,o)

Try it online!