在javascript中,如何将数组转换为不带逗号的字符串,并用空格分隔,而无需连接?
我知道可以通过循环数组元素和连接来实现这一点。但我正在寻找一种线性解决方案。toString()和join()返回元素之间用逗号分隔的字符串。 比如说,在javascript中,如何将数组转换为不带逗号的字符串,并用空格分隔,而无需连接?,javascript,arrays,string,Javascript,Arrays,String,我知道可以通过循环数组元素和连接来实现这一点。但我正在寻找一种线性解决方案。toString()和join()返回元素之间用逗号分隔的字符串。 比如说, var array = ['apple', 'tree']; var toString = array.toString() # Will return 'apple,tree' instead of 'apple tree', same for join() method 当调用join而不传递任何参数时,,(逗号)被视为默认值,to
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 ---------^
将分隔符传递到
加入
['apple', 'tree'].join(' '); // 'apple tree'
最简单的方法是使用.join(“”)
但是,如果数组包含零长度对象,如null
,则以下代码将避免使用多个空格:
arr.filter(i=>[i]。连接(“”)。长度>0。连接(“”)代码>
下面是一些示例用法:
Array.prototype.merge = function(char = " ") {
return this.filter(i => [i].join(" ").length > 0).join(char);
};
console.log(["a", null, null, "b"].merge());
使用Array.join()方法。修剪以删除任何不必要的空白
var newStr=array.join(“”).trim()
如果不想使用toString()或join(),可以执行以下操作:
for(let i=0;i</*Array*/.length;i++)if(/*Variable*/=="")/*Variable*/+=/*Array*/[i];else /*Variable*/+="/*Separator*/"+/*Array*/[i];
for(让i=0;iIt’令人惊讶的是,有多少次console.log()
让你意识到一个函数并没有达到你所期望的效果……有没有办法显示[apple][tree]呢?如果我们只显示array.join(“”)。那么就不需要修剪了。