How can I join an array of numbers into 1 concatenated number?

Javascript join() will give you the expected output as string. If you want it as a number, do this:

var x = [31,31,3,1];
var xAsString = x.join(''); // Results in a string
var xAsNumber = Number(x.join('')); // Results in a number, you can also use +(x.join(''))

Use array join method.Join joins the elements of an array into a string, and returns the string. The default separator is comma (,). Here the separator should be an empty string.

var  x = [31,31,3,1].join("");

EDIT: To get the result as numeric

const  x = +[31,31,3,1].join("");

or

const  x = Number([31,31,3,1].join(""));

I can't think of anything other than

+Function.call.apply(String.prototype.concat, x)

or, if you insist

+''.concat.apply('', x)

In ES6:

+''.concat(...x)

Using reduce:

+x.reduce((a, b) => a + b, '');

Or if you prefer

x.reduce(Function.call.bind(String.prototype.concat), '')

Another idea is to manipulate the array as a string, always a good approach.

+String.prototype.replace.call(x, /,/g, '')

There may be other ways. Perhaps a Google search on "join array javascript" would turn up some obscure function which joins elements of an array.