Чтобы найти первый повторяющийся символ в строке в JavaScript, можно использовать несколько методов. Вот несколько подходов:
Метод 1: использование хеш-карты
Вы можете перебирать символы в строке и сохранять их частоты в хеш-карте. Как только вы встретите символ, который уже существует в хэш-карте с частотой больше 1, вы нашли первый повторяющийся символ.
function findFirstRepeatedChar(str) {
const charMap = {};
for (let char of str) {
if (charMap[char]) {
return char;
}
charMap[char] = 1;
}
return null; // If no repeated character is found
}
const inputString = "example";
const repeatedChar = findFirstRepeatedChar(inputString);
console.log("First repeated character:", repeatedChar);
Метод 2: использование массива IndexOf
Вы можете преобразовать строку в массив и использовать метод indexOf, чтобы найти первое вхождение каждого символа. Если индекс текущего символа не равен индексу последнего, значит, он повторяется.
function findFirstRepeatedChar(str) {
for (let i = 0; i < str.length; i++) {
if (str.indexOf(str[i]) !== str.lastIndexOf(str[i])) {
return str[i];
}
}
return null; // If no repeated character is found
}
const inputString = "example";
const repeatedChar = findFirstRepeatedChar(inputString);
console.log("First repeated character:", repeatedChar);
Метод 3: использование набора
Вы можете перебирать символы в строке и использовать Set для отслеживания встречающихся символов. Если символ уже присутствует в наборе, это первый повторяющийся символ.
function findFirstRepeatedChar(str) {
const charSet = new Set();
for (let char of str) {
if (charSet.has(char)) {
return char;
}
charSet.add(char);
}
return null; // If no repeated character is found
}
const inputString = "example";
const repeatedChar = findFirstRepeatedChar(inputString);
console.log("First repeated character:", repeatedChar);
Обратите внимание, что приведенные выше примеры кода предполагают, что входная строка содержит только буквенно-цифровые символы и не содержит пробелов или специальных символов.