在javascript中把Set转换为空格分隔的字符串的教程

561 阅读2分钟

在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

结论

总而言之,我们可以用很多方法来迭代集合中的每个元素,并将其转换为数组,然后编写一个逻辑来获得所需的输出