如何在 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>
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP