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

javascriptweb developmentfront end technologyobject oriented programming更新于 2024/1/9 9:16:17

异位词 −

如果通过重新排列、改写或打乱第一个字符串,我们可以形成与第二个字符串相同的字符串,则称两个字符串为彼此的异位词。

例如 −

'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

相关文章


有用资源