在javascript中,有很多方法可以将Set转换为带空格的字符串。
set是最新的javascript中引入的一种数据结构,我们来声明set
var set = new Set();
set.add('first');
set.add('second');
set.add('three');
如果我们想从一个集合中返回字符串,那么它是不分条理的。
通常我们会使用下面的方法来打印任何对象。
console.log(set); //:[object Set]
console.log(set.toString()); //[object Set]
这不是我们所期望的,相反,我们期望集合的值以单个字符串的形式出现,例如one two three
在javascript中如何将Set转换为带空格的字符串
我们可以通过多种方式将Set转换为带空格的字符串
使用join函数的Array.from
首先,使用Array.from()函数将集合转换为数组。
Array.from()方法接受set或任何对象的迭代数组并返回一个数组。
接下来,对结果数组进行迭代,使用join函数并返回带空格的字符串。
let result=Array.from(set).join(' ');
console.log('== ',result); // one two three
你也可以使用[spread operator syntax] (/2018/08/es6-spread-operator-in-javascript.html)来代替Array.from(),如下所示
let result=[...set].join(' ');
console.log(result); // one two three
使用循环的for
首先,使用for的循环遍历集合的每个元素,将每个元素添加到结果数组中,最后使用join函数,返回字符串
let result = [];
for(let str of set){
result.push(str);
}
console.log([...result].join(' '));
你也可以在javascript中检查不同的方式来迭代枚举对象,来迭代集合中的每个元素。
使用foreach循环foreach循环是另一种迭代一个集合的方式。下面是foreach循环迭代的例子。
let result='';
set.forEach(value => result =result+" "+ value);
console.log(result);
如何将集合转换为逗号分隔的字符串
如上所述,首先,使用Array.from()函数将集合转换为数组,然后,使用带逗号的连接,返回带逗号的字符串。
let result='';
result=Array.from(set).join(',');
console.log(result); // one,two,three
结论
总而言之,我们可以用很多方法来迭代集合中的每个元素,并将其转换为数组,然后编写一个逻辑来获得所需的输出