每日一题:去除字符串中出现次数最少的字符,不改变原字符的顺序
2023-12-14 20:27:58
每日一题
去除字符串中出现次数最少的字符,不改变原字符的顺序。实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
思路
- 通过forEaech来统计字符个数
- 找出最少的字符的个数
- 将最少的字符组成数组
- 正则全局替换掉出现最少得字符
let c = 'accacddaddbb';
let arr = c.split('');
let crrute = {};
/*通过forEaech来统计字符个数*/
arr.forEach((item)=>{
if(!crrute[item]){
crrute[item] = 1;
}else{
crrute[item] += 1;
}
})
/*通过reduce来统计字符个数*/
// crrute = arr.reduce((acc,curr) => {
// acc[curr] ? acc[curr] += 1 : acc[curr] = 1
// return acc
// },{})
//console.log(crrute);
/*找出最少的字符的个数*/
let valus = Object.values(crrute)
let result = valus.reduce((acc, curr)=>{
return Math.min(acc,curr);
},Infinity);
/*将最少的字符组成数组*/
let keyArr = [];
for (key in crrute){
if(result == crrute[key]){
keyArr.push(key)
}
}
/*正则全局替换掉出现最少得字符*/
let n = '';
keyArr.forEach((item)=>{
n = c.replace(new RegExp(item, 'g'),'')
c = n;
})
console.log(c);
文章来源:https://blog.csdn.net/m0_46672781/article/details/134927571
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!