【问题标题】:Characters used in string? [duplicate]字符串中使用的字符? [复制]
【发布时间】:2021-12-23 14:53:28
【问题描述】:

我发现了很多关于计算字符串中使用的字符的问题和解决方案 但我怎样才能得到字符串中使用的所有字符?我是 JavaScript 新手,我不知道输出这个

例如 "English-Language" to "E,n,g,l,i,s,h,-,L,a,u,e""Javascript String" to "J,a,v,s,c,r,i,p,t, ,S,n,g"

谢谢你..

【问题讨论】:

  • 我不清楚你的目标是什么。您询问有关计数字符的问题,但您显示的字符串似乎被缩短了。当这显示预期结果时,您应该解释创建输出字符串的规则(因为它似乎被缩短了)。 (使用帖子下方的编辑功能。)
  • @try-catch-finally 同意这并不明确,应该更好地解释。稍微推导一下就可以看到都是唯一区分大小写的字符
  • var str = "Javascript String"; str = Array.from(new Set(str.split(''))).toString(); document.write(str);
  • 很抱歉没有清除我的目标。我想要的结果是删除字符串中的重复字符。我是新来的,现在该网站已经找到了类似的已解决问题.. 谢谢你们的负担..

标签: javascript


【解决方案1】:

Set 非常简单:(只需将其转换回数组)

console.log([...new Set("English-Language")]);
console.log([...new Set("Javascript String")]);

如果你想要它作为一个单一的字符串,这样做:

console.log([...new Set("English-Language")].join(","));
console.log([...new Set("Javascript String")].join(","));

【讨论】:

    【解决方案2】:

    您可以像这样使用split 函数和Set 类来实现。

    new Set("Javascript String".split(''))
    

    split('') 部分使用空字符串作为分隔符来拆分字符串,因此它只返回一个包含所有字符的数组。如果您从该数组中创建一个集合,它将删除重复项。您甚至可以将字符串直接传递给Set 构造函数。如果你想要它作为一个数组,只需使用Array.from

    【讨论】:

    • 你甚至不需要split 它,因为String 可以被解释为一个迭代器
    • 是的,我意识到了。我已经编辑了答案。
    • 感谢您的回答..
    【解决方案3】:

    你可以简单地使用str.split("");

    const str = 'English-Language';
    str.split("");
    

    如果您将来遇到任何问题,请告诉我。

    或第二个选项是

    console.log([...new Set("English-Language")]);

    【讨论】:

    • 这不会保存为唯一的字符集
    • 是的,你是对的,对不起,这只是将字符串拆分为数组。
    • 发布控制台图像不是很有效率或有用。应避免使用代码图像。 Stack Snippets 编辑器中内置了一个,它将在页面的此处运行。在编辑器中点击<>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    相关资源
    最近更新 更多