javascript 如何创建一个脚本,如果一个字符串是另一个字符串的变位词,则输出true [duplicate]

mklgxw1f  于 2022-12-17  发布在  Java
关注(0)|答案(2)|浏览(144)

此问题在此处已有答案

Anagrams finder in javascript(36个答案)
5小时前关门了。
我需要创建一个javascript脚本,它给出两个字符串检查,如果一个是另一个的变位词,我想过使用支持数组的检查,但我不知道如何执行

insrf1ej

insrf1ej1#

好吧,
1.学习JS。
1.每天练习LeetCode
就目前而言,我希望这能有所帮助。

const checkForAnagram = (str1, str2) => {
    // create, sort, then join an array for each string
    const aStr1 = str1.toLowerCase().split('').sort().join('');
    const aStr2 = str2.toLowerCase().split('').sort().join('');
    
    return aStr1 === aStr2;
}

console.log(`The strings are anagrams: ${checkForAnagram('hello', 'ehlol')}`);
console.log(`The strings are anagrams: ${checkForAnagram('cat', 'rat')}`);
xxls0lw8

xxls0lw82#

检查提供的两个字符串是否是彼此的变位词。如果一个字符串使用了相同数量的相同字符,那么它就是另一个字符串的变位词。
1.仅考虑字符,不考虑空格或标点符号
1.将大写字母视为与小写字母相同
示例:
1.字谜('铁路安全','童话')===真
1.字谜(“铁路!安全!”,“童话故事”)=== true
1.变位词(“Hi there”,“Bye there”)=== false
让我们使用以下两种方法来解决这个面试问题

function testAnagrams(strA,strB){
        //removing spaces and exclamation mark etc ... and converting into lowerCase
        const cleanStrA = strA.replace(/[^\w]/g,"").toLowerCase();
        const cleanStrB = strB.replace(/[^\w]/g,"").toLowerCase();
        //creating array of characters form string
        const firstArray = cleanStrA.split("");
        const secondArray = cleanStrB.split("");
        //sorting the array and again converting it into string with join method and checking if equal or not
        if(firstArray.sort().join("") === secondArray.sort().join("")){
            return true;
        }else{
            return false;
        }
    }
    console.log(anagrams('rail safety', 'fairy tales'));

欲了解更多信息,请访问
https://medium.com/@hrusikesh251.nalanda/check-to-see-if-the-two-provided-strings-are-anagrams-of-each-other-9f9ddda89296

相关问题