📅  最后修改于: 2023-12-03 15:29:20.189000             🧑  作者: Mango
在本示例中,我们将展示如何使用JavaScript检查给定的两个字符串是否是Anagram(异序词)。
Anagram是指由同样的字母排列而成的单词或短语。例如,“listen”和“silent”是异序词。
我们可以使用JavaScript来解决这个问题。我们可以将两个字符串都转换为小写字母并将它们排序,然后比较它们是否相同。
function isAnagram(str1, str2) {
// 将字母转换为小写并按字母顺序排列
let sortedStr1 = str1.toLowerCase().split("").sort().join("");
let sortedStr2 = str2.toLowerCase().split("").sort().join("");
// 比较两个字符串是否相同
return sortedStr1 === sortedStr2;
}
// 示例用法
console.log(isAnagram("listen", "silent")); // true
console.log(isAnagram("hello", "world")); // false
在上面的示例中,我们定义了一个名为isAnagram
的函数,它接受两个字符串作为参数。首先,我们将这两个字符串都转换为小写并按字母顺序排列。然后,我们比较这两个字符串是否相同,并将结果返回。
为了测试我们的函数是否按预期工作,我们可以使用一些测试用例。
// 测试用例
const testCases = [
{ str1: "listen", str2: "silent", expected: true },
{ str1: "heart", str2: "earth", expected: true },
{ str1: "hello", str2: "world", expected: false },
{ str1: "abcd", str2: "dcba", expected: true },
];
// 迭代测试用例并检查结果
testCases.forEach(({ str1, str2, expected }) => {
const result = isAnagram(str1, str2);
console.log(result === expected ? "Pass" : "Fail");
});
在上面的示例中,我们创建了一个包含测试用例的数组。每个测试用例都包含两个字符串和一个预期结果。我们迭代这些测试用例并调用isAnagram
函数来检查它是否按预期工作。如果测试通过,我们会在控制台输出“Pass”,否则输出“Fail”。
在本示例中,我们展示了如何使用JavaScript检查两个字符串是否是Anagram。我们学习了如何将字符串转换为小写并按字母顺序排列,以及如何比较它们是否相同。我们还使用测试用例来验证我们的函数是否按预期工作。