判断字符串是否为变位词
检查一个字符串是否是另一个字符串的变位词(不区分大小写,忽略空格、标点符号和特殊字符)。
- 使用
String.prototype.toLowerCase()
和String.prototype.replace()
方法结合适当的正则表达式来去除不必要的字符。 - 对两个字符串使用
String.prototype.split()
、Array.prototype.sort()
和Array.prototype.join()
方法进行规范化,然后检查它们的规范化形式是否相等。
const isAnagram = (str1, str2) => {
const normalize = str =>
str
.toLowerCase()
.replace(/[^a-z0-9]/gi, '')
.split('')
.sort()
.join('');
return normalize(str1) === normalize(str2);
};
isAnagram('iceman', 'cinema'); // true