一天一道面试题! 去除字符串中出现次数最少的字符,不改变原字符串的顺序。

214 阅读1分钟

//无聊,闲的蛋疼。瞎搞。记录一下。大佬忽略我。
//“aaabbbcceeff” —— “aaabbb”
//去除字符串中出现次数最少的字符,不改变原字符串的顺序。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //“aaabbbcceeff” —— “aaabbb”
        //去除字符串中出现次数最少的字符,不改变原字符串的顺序。
        var str = "aaabblbceceefjf";
        let _JSON = {};
        for(let i=0; i<str.length; i++){
            if(!_JSON[str.charAt(i)]){
                _JSON[str.charAt(i)] = 1;
            }else{
                _JSON[str.charAt(i)]++
            }
        }

        //找到json最小的value
        let _tmp = [];
        let result = ""
        for(let i in _JSON){
            _tmp.push(_JSON[i])
        }
        let sortArr = _tmp.sort(function(x,y){
            return x-y
        })
        for(let i in _JSON){
            if(_JSON[i] == sortArr[0]){
                result = str.replace(new RegExp(i,'g'),'')
                str = result;
                
            }
        }
        console.log(result)
    </script>
</body>
</html>