在javascript中将一组数字加入1个数字?

时间:2015-05-14 04:56:05

标签: javascript arrays

如何加入此数组以尽可能少的步骤为我提供预期的输出?

var x = [31,31,3,1]
//expected output: x = 313131;

7 个答案:

答案 0 :(得分:4)

使用数组join方法。Join将数组的元素连接成一个字符串,并返回该字符串。默认分隔符为逗号(,)。这里的分隔符应该是一个空字符串。

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

答案 1 :(得分:4)

我无法想到除

之外的任何事情
+Function.call.apply(String.prototype.concat, x)

或者,如果你坚持

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

在ES6中:

+''.concat(...x)

使用reduce

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

或者如果您愿意

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

另一个想法是将数组作为字符串进行操作,这总是一种很好的方法。

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

可能还有其他方法。也许谷歌搜索"加入数组javascript"会出现一些加入数组元素的模糊函数。

答案 2 :(得分:2)

Javascript join()会为您提供string的预期输出。如果您希望它为number,请执行以下操作:

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(''))

答案 3 :(得分:0)

尝试join(),如下所示

var x = [31,31,3,1]
var y = x.join('');
alert(y);

答案 4 :(得分:0)

您的问题要求一个数字,上面的大多数答案都将为您提供一个字符串。您想要这样的东西。

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

答案 5 :(得分:-2)

请尝试以下。

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

答案 6 :(得分:-2)

这将有效

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