JavaScript中唯一的字符



function unique_char(string) {
return String.prototype.concat(...new Set(string));
}
console.log(unique_char("Hellooooooooooooo"));

谁能帮助我理解如何。concat一个新的集合将返回唯一字符?我以为。concat会添加,为什么有一个传播操作…在新的集合之前?

1)

new Set(string)

由于strings在JS中是可迭代的,因此Set将接受字符串作为输入并为您提供一组唯一字符。

2)

String.prototype.concat(...new Set(string)

concat()方法将字符串arguments连接到调用字符串并返回一个新字符串。One or more strings连接到str. - MDN

那么concat将一个字符一个字符地取append将它变成一个字符串

看一下下面函数的输出

function unique_char(string) {
const set = new Set(string);
console.log(...set);
return String.prototype.concat(...set);
}
console.log(unique_char("Hellooooooooooooo"));

让我们把这个命令分成几个部分:

  1. new Set(string)=>这将从字符串中创建一个新的Set,并且每个字符只留下一次
  2. ...用于"转换";将Set设置为数组(Set是可迭代的)
  3. String.prototype.concat用于连接扩展操作符返回的数组中的所有字符。

相关内容

  • 没有找到相关文章

最新更新