Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 문자열 아나그램은 무엇입니까?

<시간/>

아나그램 -

첫 번째 문자열을 재배열, 바꾸어 말하거나 섞어서 두 번째 문자열과 동일한 문자열을 형성할 수 있는 경우 두 문자열을 서로의 아나그램이라고 합니다.

예를 들어 -

'something'과 'emosghtin'은 서로의 아나그램입니다.

str1과 str2라고 하는 두 개의 문자열을 받아 서로 아나그램이면 true를 반환하고 그렇지 않으면 false를 반환하는 JavaScript 함수를 작성해야 합니다.

예시

이에 대한 코드는 -

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