JavaScript 中的Anagram查找器
在本文中,我们将学习 JavaScript 中 anagram 的概念。 我们将学习如何检查一个字符串是否是 JavaScript 中另一个字符串的变位词。
Anagram 的概念
具有相同字符和相同数字的两个单词或字符串称为变位词。 单词的长度也应该相同。
使用变位词,我们可以重新排列一个单词的字符以生成另一个单词。 以下是一些字谜词示例:
- listen and silent
- triangle and integral
- the eyes and they see
正如我们所知,我们可以重新排列一个单词的字符并借助算法转换第二个单词。
JavaScript 中的Anagram查找器
在 JavaScript 中,我们可以创建一个程序来检查两个单词或字符串是否是彼此的变位词。 我们可以创建一个函数来检查单词是否是变位词并将布尔结果返回为 true 或 false。
首先,我们应该对两个字符串进行排序并比较排序后的字符串,以确定它们是否相同。
以下示例将使用 JavaScript 程序对两个单词执行变位词检查算法。 我们将使用默认的 JavaScript 方法 split()
、sort()
和 join()
来检查提供的单词。
split()
方法用于拆分字符串字符并生成字符数组。 sort()
方法用于对元素数组进行排序。
join()
方法用于连接元素数组并生成一串元素。
function checkAnagram(word1, word2) {
let length1 = word1.length;
let length2 = word2.length;
if(length1 !== length2){
console.log(word1+" and "+word2+" lengths did not match!");
return
}
let wordA = word1.split('').sort().join('');
let wordB = word2.split('').sort().join('');
if(wordA === wordB){
console.log(word1+" and "+word2+" are anagram to each other");
} else {
console.log(word1+" and "+word2+" are not anagram to each other");
}
}
let word1 = "silent";
let word2 = "listen";
checkAnagram(word1,word2)
word1 = "shouts"
checkAnagram(word1,word2)
输出:
"silent and listen are anagram to each other"
"shouts and listen are not anagram to each other"
如上所示,我们声明了一个 let 类型的函数 checkAnagram()
,我们将在其中将单词作为参数。 在该函数内部,我们对传递的单词使用了条件语句。
使用条件语句,我们首先检查了两个单词的长度是否相等。 如果不是,我们会在日志中显示长度不匹配消息。
然后,我们对传递的单词使用 split()
、sort()
和 join()
对单词进行排序,并将排序后的单词存储在单独的变量 word1 和 word2 中。
然后,我们需要使用条件语句 if-else 检查两个变量的值是否相等。 如果相等,则这些词是一个字谜; 如果不是,则这些词不是字谜。
我们已经初始化了两个单词,silent 和 listen,并将它们作为参数传递给 checkAnagram()
函数,更新了 word1,并再次调用 checkAnagram()
。
console.log()
方法在日志中显示结果。 您可以复制并保存上述源代码,然后使用 JavaScript 编译器查看结果。
相关文章
JavaScript String.concat() 方法
发布时间:2023/06/04 浏览次数:112 分类:JavaScript
-
javaScript String concat() 是一个内置函数,它将字符串连接在一起并返回连接后的字符串。使用 JavaScript String concat() 方法连接两个字符串
JavaScript 中的左修剪字符串
发布时间:2023/06/04 浏览次数:80 分类:JavaScript
-
使用正则表达式和 replace() 函数在 JavaScript 中左修剪字符串。在 JavaScript 中使用带有 substring() 函数的 while 循环来左修剪字符串
在 JavaScript 中过滤字符串
发布时间:2023/06/04 浏览次数:53 分类:JavaScript
-
在这里,我们将演示使用具有基本箭头操作和特定条件的 filter() 方法。 此外,我们将看到使用 indexOf()、test() 和 include() 方法来获取满足给定模式的字符串。使用带箭头函数的 filter() 方法在
JavaScript string.includes() 方法
发布时间:2023/06/04 浏览次数:139 分类:JavaScript
-
JavaScript string.includes() 方法查看一个字符串以检查它是否存在,并根据给定的字符串返回一个布尔值。
在 JavaScript 中循环遍历字典
发布时间:2023/06/03 浏览次数:105 分类:JavaScript
-
本篇文章将介绍如何在 JavaScript 中迭代对象或字典来提取键值对。使用 Object.entries() 在 JavaScript 中循环遍历字典 我们可以使用 Object.entries() 方法返回给定对象的 [key, value] 对字符串键可枚举属性
在 JavaScript 中提取元素的第一个子元素
发布时间:2023/06/03 浏览次数:91 分类:JavaScript
-
在本篇文章中,我们将学习在 JavaScript 中提取元素的第一个子元素。使用 Node.firstChild 在 JavaScript 中提取元素的第一个子元素
在 JavaScript 中创建自定义警告框
发布时间:2023/06/03 浏览次数:64 分类:JavaScript
-
本文将介绍如何使用 jQuery UI、SweetAlert2 和自定义警报功能在 JavaScript 中创建自定义警报框。使用 jQuery UI 创建自定义警告框 我们可以使用 jQuery UI 来模仿 JavaScript 本机 alert() 函数的功能。
JavaScript 剪贴板数据
发布时间:2023/06/03 浏览次数:105 分类:JavaScript
-
本篇文章将介绍在 JavaScript 中检测粘贴事件上的剪贴板数据。JavaScript 剪贴板数据。当用户通过浏览器 UI 启动粘贴操作时,将引发粘贴事件。
在 JavaScript 中添加 Vector 类
发布时间:2023/06/03 浏览次数:180 分类:JavaScript
-
本文将教您如何使用 for 循环、ES6 Map、ES6 类和扩展原生 Array 类在 JavaScript 中添加向量。您可以使用 for 循环在 JavaScript 中添加两个向量。 同时,向量应该是 JavaScript 数组。