美文网首页
字符串洗牌比较(isAnagram)

字符串洗牌比较(isAnagram)

作者: itstrive | 来源:发表于2017-04-25 16:38 被阅读0次

    需求: 一个字符串洗牌,随机打乱顺序,与之前比较
    比如: '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>
    

    相关文章

      网友评论

          本文标题:字符串洗牌比较(isAnagram)

          本文链接:https://www.haomeiwen.com/subject/acwvzttx.html