📅  最后修改于: 2023-12-03 15:09:21.486000             🧑  作者: Mango
在程序开发过程中,你会遇到需要查找字符串中第一个重复字符的情况。在JavaScript中,有很多种方法可以实现这个功能,以下将为你详细介绍其中两种实现方法。
function firstRecurringCharacter(str) {
const charMap = new Map();
for (let char of str) {
if (charMap.has(char)) {
return char;
}
charMap.set(char, 1);
}
return null;
}
console.log(firstRecurringCharacter("ABCA")); // A
console.log(firstRecurringCharacter("BCABA")); // B
console.log(firstRecurringCharacter("ABC")); // null
首先,我们创建了一个Map对象用于存储字符串中每个字符的计数器。然后,我们遍历字符串中的每个字符,如果该字符已经在Map对象中出现过,那么说明该字符是第一个重复字符,我们将其返回;否则,我们将该字符存储进Map对象中。如果整个字符串都被遍历完了,说明没有重复字符,我们返回null。
function firstRecurringCharacter(str) {
const set = new Set();
for (let char of str) {
if (set.has(char)) {
return char;
}
set.add(char);
}
return null;
}
console.log(firstRecurringCharacter("ABCA")); // A
console.log(firstRecurringCharacter("BCABA")); // B
console.log(firstRecurringCharacter("ABC")); // null
类似于Map对象的实现方式,我们也可以使用Set来实现查找字符串中第一个重复字符的功能。我们创建了一个Set对象用于存储字符串中的每个字符。在遍历字符串中的每个字符时,如果该字符已经在Set对象中出现过,那么说明该字符是第一个重复字符,我们将其返回;否则,我们将该字符存储进Set对象中。如果整个字符串都被遍历完了,说明没有重复字符,我们返回null。
以上是两种在JavaScript中查找字符串中第一个重复字符的方法,并且它们都能够高效地处理大量字符串中的数据。