如何加入此数组以尽可能少的步骤为我提供预期的输出?
var x = [31,31,3,1]
//expected output: x = 313131;
答案 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("");