如何在 JavaScript 中查找字符串的唯一字符?


在本教程中,我们将学习查找字符串中唯一字符的不同方法。简单来说,如果一个字符在字符串中出现过一次,那么它将不会再次包含在字符串中。

示例

输入

tutorialspoint

输出

tuorialspn

方法 1:使用 Set

因此,在这种方法中,我们将使用 Set 数据结构,正如您所知,它只包含唯一的元素。我们将从用户那里获取输入,然后将其通过分割转换成数组,然后创建一个新的 Set 并将所有元素放入其中,然后我们将所有元素从 Set 中取回字符串,它将只包含唯一元素。

语法

以下是查找字符串唯一字符的语法

val1=val1.split("")
val1=new Set(val1)
val1=[...val1].join("")

算法

  • 步骤 1 − 创建一个变量并赋值一个字符串。或者赋值从用户输入获取的字符串值。
  • 步骤 2 − 对字符串应用 split("") 方法将其分割成字符数组。
  • 步骤 3 − 定义一个新的 Set,并将字符数组作为参数传递。新的 Set 将只包含唯一字符。
  • 步骤 4 − 将 Set 中的字符连接起来再次创建一个字符串。
  • 步骤 5 − 显示字符串。

示例

让我们看看使用 Set 查找字符串唯一字符的程序。

<!DOCTYPE html> <html> <body> <p> Enter a string and click on the button to find unique characters</p> <form> Enter string: <input type="text" id="val1" /><br><br> <input Value="Calculate" type="button" onClick="calculate()"/> </form> <p>Unique char of string:<span style="font-weight: bold;" id= "calcOutput">.....</span></p> <script> function calculate(){ val1=document.getElementById('val1').value val1=val1.split("") val1=new Set(val1) val1=[...val1].join("") document.getElementById('calcOutput').innerHTML=val1 } </script> </body> </html>

方法 2:使用 indexOf() 方法循环

我们将使用一个变量,并在遍历字符串时检查当前字符,如果它是第一次出现,这意味着该字符在字符串中的位置是 -1,那么我们将包含该字符,否则我们将忽略它。

语法

以下是使用 indexOf() 方法查找字符串唯一字符的语法

for(var i=0;i<val1.length;i++){
   if(UniqueAns.indexOf(val1.charAt(i))==-1)
   UniqueAns= UniqueAns+val1[i];
}

示例

在下面的程序中,我们使用 indexOf() 方法查找字符串中的唯一字符。

<!DOCTYPE html> <html> <body> <p> Enter a string and click on the Calculate button to find unique characters.</p> <form>Enter string: <input type="text" id="val1" /><br> <input Value="Calculate" type="button" onClick="calculate()"/> </form> <p>Unique char of string: <span style="font-weight: bold;" id= "calcOutput">.....</span></p> <script> function calculate(){ val1=document.getElementById('val1').value var UniqueAns=""; for(var i=0;i<val1.length;i++){ if(UniqueAns.indexOf(val1.charAt(i))==-1) UniqueAns= UniqueAns+val1[i]; } document.getElementById('calcOutput').innerHTML=UniqueAns } </script> </body> </html>

方法 3:使用 includes() 方法循环

这与上述方法类似,但在这里我们将使用 includes 方法来检查字符串是否包含当前字符,如果返回 true,则忽略它;如果函数返回 false,则意味着我们第一次访问此字符,因此将其包含在内。

语法

以下是查找字符串唯一字符的语法

for(var i=0;i<val1.length;i++){
   if(UniqueAns.includes(val1[i])==false)
   UniqueAns= UniqueAns+val1[i];
}

示例

在下面的程序中,我们使用 includes() 方法查找字符串中的唯一字符。

<!DOCTYPE html> <html> <body> <p> Enter a string and click on the "Find Unique Chars" button to find the unique characters</p> <form>Enter string: <input type="text" id="val1" /><br><br> <input Value="Find Unique Chars" type="button" onClick="calculate()" /> </form> <p>Unique char of string:<span style="font-weight: bold;" id= "calcOutput">.....</span></p> <script> function calculate(){ val1=document.getElementById('val1').value var UniqueAns=""; for(var i=0;i<val1.length;i++){ if(UniqueAns.includes(val1[i])==false) UniqueAns= UniqueAns+val1[i]; } document.getElementById('calcOutput').innerHTML=UniqueAns } </script> </body> </html>

更新于:2022年8月16日

3K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.