let str = 'aaadddddasdasdasdasdasdfgrdgertqw' function removeDuplicateChar(str) { if (!str || str.length < 2 || typeof str != "string") { return; }; let charArr = [], res = []; for (let i = 0; i < str.length; i++) { let c = str[i]; if (charArr[c]) { charArr[c]++; } else { charArr[c] = 1; } } for (let j in charArr) { if (charArr[j] === 1) { res.push(j); } } return res.join(""); } console.log(removeDuplicateChar(str));解释这段代码的意思并注释
时间: 2023-12-10 14:40:27 浏览: 70
这段代码的作用是去除一个字符串中重复出现的字符,只保留出现过一次的字符,并将结果返回。
代码注释如下:
```javascript
let str = 'aaadddddasdasdasdasdasdfgrdgertqw';
//定义函数removeDuplicateChar,接收一个字符串参数str
function removeDuplicateChar(str) {
//如果参数为空或长度小于2或者不是字符串类型,则返回undefined
if (!str || str.length < 2 || typeof str != "string") {
return;
};
//定义一个字符数组charArr和结果数组res
let charArr = [], res = [];
//遍历字符串,统计每个字符出现的次数
for (let i = 0; i < str.length; i++) {
let c = str[i];
if (charArr[c]) {
charArr[c]++;
} else {
charArr[c] = 1;
}
}
//遍历字符数组charArr,将出现次数为1的字符加入结果数组res中
for (let j in charArr) {
if (charArr[j] === 1) {
res.push(j);
}
}
//将结果数组res转换为字符串并返回
return res.join("");
}
console.log(removeDuplicateChar(str)); //输出"fgq"
```
阅读全文