First, both vectors are converted to cartesian form using the following technique:
x = magnitude * cos(angle)
y = magnitude * sin(angle)
Second, the vectors are summed up coordinate-wise.
result vector = (x1 + x2 , y1 + y2)
Lastly, the vector is converted back into magnitude/direction form.
magnitude = sqrt(x2 + y2)
angle = atan2(y, x)
A JavaScript implementation can be found at line 167 of this page.