我知道你可以通过循环遍历数组元素和连接来实现这一点。但我正在寻找单线解决方案。 toString()和join()返回带有逗号分隔的元素的字符串。 例如,
var array = ['apple', 'tree'];
var toString = array.toString() # Will return 'apple,tree' instead of 'apple tree', same for join() method
答案 0 :(得分:35)
当你在没有传递任何参数的情况下调用join
时,,
(逗号)被视为默认值,toString
内部调用join
而不传递任何参数。
所以,传递你自己的分隔符。
var str = array.join(' '); //'apple tree'
// separator ---------^
答案 1 :(得分:6)
将分隔符传递给join
。
['apple', 'tree'].join(' '); // 'apple tree'
答案 2 :(得分:1)
使用Array.join()方法。删除所有不必要的空格。
var newStr = array.join(' ').trim()
答案 3 :(得分:0)
最简单的方法是使用.join(' ')
。
但是,如果数组包含零长度的对象,例如null
,则以下代码将避免多个空格:
arr.filter(i => [i].join(" ").length > 0).join(" ");
以下是一些用法示例:
Array.prototype.merge = function(char = " ") {
return this.filter(i => [i].join(" ").length > 0).join(char);
};
console.log(["a", null, null, "b"].merge());
答案 4 :(得分:0)
如果你不想使用 toString() 或 join(),你可以这样做:
for(let i=0;i</*Array*/.length;i++)if(/*Variable*/=="")/*Variable*/+=/*Array*/[i];else /*Variable*/+="/*Separator*/"+/*Array*/[i];
分隔符是在每个项目之间放置的内容。在您的情况下,您可以将其更改为空格。