Well done, this is an elegant solution! You avoid the need for an inner loop by making use of the spread operator (...) to unpack the current array (arr[i]) and feed all its values to the Math.max function.
You can simply it a little more by declaring the a variable inside the loop on one line with the Math.max function. You could even do away with the a variable altogether, and write the Math.max function directly into the push function, but this would make the code slightly less readable to others.