📌  相关文章
📜  javascript 字符串唯一字符 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:11.452000             🧑  作者: Mango

Javascript 字符串唯一字符

在Javascript中,我们经常需要处理字符串操作。其中,一种常见的任务是查找字符串中的唯一字符。本文将介绍一些实现方法。

方法一:使用对象来记录字符出现的次数
  1. 首先,我们可以创建一个空对象,用来记录字符串中每个字符出现的次数。
let charCount = {};
  1. 遍历字符串中的每个字符,并将其出现的次数记录在charCount对象中。
for (let i = 0; i < str.length; i++) {
    let char = str.charAt(i);
    if (charCount[char]) {
        charCount[char]++;
    } else {
        charCount[char] = 1;
    }
}
  1. 最后,遍历charCount对象,找到出现次数为1的字符即可。
for (let char in charCount) {
    if (charCount[char] === 1) {
        return char;
    }
}

完整代码片段:

function uniqueChar(str) {
    let charCount = {};
    for (let i = 0; i < str.length; i++) {
        let char = str.charAt(i);
        if (charCount[char]) {
            charCount[char]++;
        } else {
            charCount[char] = 1;
        }
    }
    for (let char in charCount) {
        if (charCount[char] === 1) {
            return char;
        }
    }
}
方法二:使用数组来记录字符出现的次数

另一种实现方法是使用数组来记录字符出现的次数。

  1. 首先,创建一个长度为256的数组,用来记录每个字符出现的次数。
let charCount = new Array(256).fill(0);
  1. 遍历字符串中的每个字符,并将其出现的次数记录在charCount数组中。
for (let i = 0; i < str.length; i++) {
    let char = str.charCodeAt(i);
    charCount[char]++;
}
  1. 最后,遍历字符串中的每个字符,并检查其在charCount数组中出现的次数是否为1。
for (let i = 0; i < str.length; i++) {
    let char = str.charCodeAt(i);
    if (charCount[char] === 1) {
        return String.fromCharCode(char);
    }
}

完整代码片段:

function uniqueChar(str) {
    let charCount = new Array(256).fill(0);
    for (let i = 0; i < str.length; i++) {
        let char = str.charCodeAt(i);
        charCount[char]++;
    }
    for (let i = 0; i < str.length; i++) {
        let char = str.charCodeAt(i);
        if (charCount[char] === 1) {
            return String.fromCharCode(char);
        }
    }
}
总结

以上是两种实现查找唯一字符的方法。使用对象的方法适用于大多数情况,而使用数组的方法则更适用于需要处理大量数据的情况。无论使用哪种方法,都需要遍历字符串中的每个字符,并将其出现的次数记录下来。最终,我们可以遍历记录出现次数的对象或数组,并找到出现次数为1的字符即可。