字符串洗牌比较(isAnagram)

需求: 一个字符串洗牌,随机打乱顺序,与之前比较
比如: 'welcome' == 'elmecow' -> true
'aab' == 'bab' -> false

<script>
        function find(str){
            var json={};
            for(var i=0; i<str.length; i++){
                if(json[str.charAt(i)]){
                    json[str.charAt(i)]++;
                }else{
                    json[str.charAt(i)]=1;
                }
            }
            return json;
        }
        function compare(obj,obj2){
            for(var name in obj){
                if(obj[name]!=obj2[name]){
                    return false;
                }
            }
            for(var name in obj2){
                if(obj[name]!=obj2[name]){
                    return false;
                }
            }
            return true;
        }
        function isAnagram(string1,string2){
            var json=find(string1);
            var json2=find(string2);

            return compare(json,json2);
        }
        console.log(isAnagram('something','emosignth'));
        console.log(isAnagram('abb','aba'));
        console.log(isAnagram('aaab','aaa'));
        console.log(isAnagram('some','meos'));
    </script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容