소개
이 랩에서는 주어진 문자열이 다른 문자열의 아나그램 (anagram) 인지 확인하는 방법을 살펴봅니다. 아나그램은 "iceman"과 "cinema"처럼 다른 문자의 문자를 재배열하여 형성된 단어나 구절입니다. JavaScript 를 사용하여 두 개의 문자열을 인수로 받아 서로 아나그램인지 여부를 나타내는 부울 값을 반환하는 함수를 만들 것입니다.
이 랩에서는 주어진 문자열이 다른 문자열의 아나그램 (anagram) 인지 확인하는 방법을 살펴봅니다. 아나그램은 "iceman"과 "cinema"처럼 다른 문자의 문자를 재배열하여 형성된 단어나 구절입니다. JavaScript 를 사용하여 두 개의 문자열을 인수로 받아 서로 아나그램인지 여부를 나타내는 부울 값을 반환하는 함수를 만들 것입니다.
문자열이 다른 문자열의 아나그램인지 확인하려면 다음 JavaScript 함수를 사용하십시오. 대소문자를 구분하지 않으며 공백, 구두점 및 특수 문자를 무시합니다.
const isAnagram = (str1, str2) => {
const normalize = (str) =>
str
.toLowerCase()
.replace(/[^a-z0-9]/gi, "")
.split("")
.sort()
.join("");
return normalize(str1) === normalize(str2);
};
함수를 사용하려면 터미널/SSH 를 열고 node를 입력하십시오. 그런 다음 두 개의 문자열을 인수로 사용하여 함수를 호출합니다.
isAnagram("iceman", "cinema"); // true
이 함수는 불필요한 문자를 제거하기 위해 적절한 정규 표현식과 함께 String.prototype.toLowerCase() 및 String.prototype.replace()를 사용합니다. 또한 두 문자열 모두에서 String.prototype.split(), Array.prototype.sort(), 및 Array.prototype.join()을 사용하여 정규화하고 정규화된 형태가 같은지 확인합니다.
축하합니다! 문자열 아나그램 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.