JavaScript 中的字符串是否为异位词


异位词 −

如果按顺序、重新表述或混排第一个字符串可以形成一个与第二个字符串相同的字符串,则我们说这两个字符串是对方的异位词。

例如 −

“something”和“emosghtin”是对方的异位词。

我们要编写一个 JavaScript 函数,需要输入两个字符串(str1 和 str2),如果它们是对方的异位词,则返回 true,否则返回 false。

示例

代码如下 −

const str1 = "something";
const str2 = "emosghtin";
const validAnagram = (str1 = '',str2 = '') => {
   let obj1 = {}
   let obj2 = {}
   if (str1.length !== str2.length){
      return false
   };
   for(let char of str1){
      obj1[char]= (obj1[char] || 0) + 1
   };
   for(let char of str2){
      obj2[char]= (obj2[char] || 0) + 1
   };
   for(let val in obj1){
      if(!(val in obj2) || (obj2[val] !== obj1[val])){
         return false
      }
   };
   return true;
};
console.log(validAnagram(str1, str2));

输出

控制台中的输出如下 −

true

更新于:2020-11-24

145 个浏览

开启您的职业

完成课程即可获认证

开始
广告