javascript - 从字符串中提取唯一字符并保留字符串之间的空格

标签 javascript arrays string whitespace

如何提取字符串中出现的唯一字母(包括所有空格)?

我的代码的问题是它只返回第一次出现的空格:

function unique_char(str1) {
  var str = str1;
  var uniql = "";
  for (var x = 0; x < str.length; x++) {

    if (uniql.indexOf(str.charAt(x)) == -1) {
      uniql += str[x];

    }
  }
  return uniql;
}
console.log(unique_char("the fox news newspaper"));

这会打印到控制台:

the foxnwspar

但我想要的输出是:

the fox nws par

任何帮助将不胜感激。

谢谢

最佳答案

添加逻辑OR来检查字符是否为空格

if (uniql.indexOf(char) == -1 || char == ' ') 

请参阅下面的工作片段:

function unique_char(str) {
    var uniql = "";
    for (var x = 0; x < str.length; x++) {
        var char = str.charAt(x);
        if (uniql.indexOf(char) == -1 || char == ' ') {
            uniql += str[x];
        }
    }
    return uniql;
}
document.write(unique_char("the fox news newspaper"));

关于javascript - 从字符串中提取唯一字符并保留字符串之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670340/

相关文章:

javascript - 使用javascript显示多个数组

ruby - 最后拆分和修改

JavaScript 迭代对象属性 - 陷入循环引用循环

c - 数组值如何存储在 Little Endian 与 Big Endian 架构中

python - 使用 for 和 if 语句比较数组元素

c - 如何比较字符数组和字符串

Java内存: Object consumes thrice the size it should

javascript - 尝试将数据从 firebase 写入 header 元素时,无法设置 null 的属性 'innerText'

javascript - 如何使用 Fireproof for Firebase 从 .push 获取新生成的 key ?

javascript - 创建 promise 回调