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 個瀏覽

開啟您的職業

完成課程即可獲認證

開始
廣告
© . All rights reserved.