我该如何通过尽可能少的步骤将这个数组连接起来以得到期望的输出结果?
var x = [31,31,3,1]
//expected output: x = 313131;
我该如何通过尽可能少的步骤将这个数组连接起来以得到期望的输出结果?
var x = [31,31,3,1]
//expected output: x = 313131;
使用数组的 join
方法。Join
方法将数组的元素连接成一个字符串,并返回该字符串。默认分隔符是逗号(,)。在这里,分隔符应该是一个空字符串。
var x = [31,31,3,1].join("");
编辑:为了获得数值结果
const x = +[31,31,3,1].join("");
或者const x = Number([31,31,3,1].join(""));
x = parseInt(x);
- PabloJavascript的join()方法会返回一个字符串类型的结果。如果你想要得到一个数字类型的结果,可以这样做:
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(''))
除了这个,我想不到其他的了。
+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, '')
const number = Number([31,31,3,1].join(""));
最初的回答已经很清楚了。尝试使用以下join()方法
var x = [31,31,3,1]
var y = x.join('');
alert(y);
请尝试以下。
var x = [31,31,3,1]
var teststring = x.join("");
这将会起作用
var x = [31,31,3,1];
var result = x.join("");
x = +x.join('')
,不过这不是很有趣的代码挑战。 翻译:上述代码将数组中所有元素组合成字符串并转换为数字,但这并不是一个很有趣的代码挑战。 - Ry-