我知道你可以通过循环遍历数组元素和连接来做到这一点。但我正在寻找单线解决方案。toString() 和 join() 返回以逗号分隔元素的字符串。例如,
var array = ['apple', 'tree'];
var toString = array.toString() # Will return 'apple,tree' instead of 'apple tree', same for join() method
我知道你可以通过循环遍历数组元素和连接来做到这一点。但我正在寻找单线解决方案。toString() 和 join() 返回以逗号分隔元素的字符串。例如,
var array = ['apple', 'tree'];
var toString = array.toString() # Will return 'apple,tree' instead of 'apple tree', same for join() method
当您在join
不传递任何参数的,
情况下toString
调用时,(逗号) 被视为默认值,并且在join
不传递任何参数的情况下进行内部调用。
所以,通过你自己的分隔符。
var str = array.join(' '); //'apple tree'
// separator ---------^
将分隔符传递给join
.
['apple', 'tree'].join(' '); // 'apple tree'
使用 Array.join() 方法。修剪以删除任何不必要的空格。
var newStr = array.join(' ').trim()
最简单的方法是使用.join(' ')
.
但是,如果 Array 包含零长度对象,例如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());
如果你不想使用 toString() 或 join(),你可以这样做:
for(let i=0;i</*Array*/.length;i++)if(/*Variable*/=="")/*Variable*/+=/*Array*/[i];else /*Variable*/+="/*Separator*/"+/*Array*/[i];
分隔符是在每个项目之间放置的内容。在您的情况下,您可以将其更改为空格。