使用Set对象
听说了没?JavaScript能让网页更好玩儿,还有助于增强互动!比如,咱们想找文章里有没有重复的字儿,用ES6的Set新特性就行。这玩意儿看似不咋地,实际上就是个独一无二的数组。具体做法很简单,先将文本拆分成字符串,再变成Set比对一下,一会儿就搞定。
使用Set对象进行重复字符检查的方法如下:
首先,利用split方法将文本转化为字符数组;
然后,创建一个Set对象,该对象由字符数组中的元素组成;
最后,查下咱的Set对象和字符串长度,就能看出文章里有无重复词语。
function checkDuplicates(text) { var charArray = text.split(''); var charSet = new Set(charArray); return charSet.size !== charArray.length; } var textWithDuplicates = "aabbccdd"; var textWithoutDuplicates = "abcd"; console.log(checkDuplicates(textWithDuplicates)); // true console.log(checkDuplicates(textWithoutDuplicates)); // false
试试这个又快又好用的方法,立马给你找出文章里同个词出现了多少次,让我们网站使用起来更加顺畅!
使用对象属性
除了Set那个方法,其实还有个更直接的办法。咱们可以为每个小写字母起个昵称,存到一个对象里去,这样就能防止重复。首先,我们要做个叫charMap的AI,然后从字符串中找出所有的小写字母塞进来。记得设置成真。每次新加入字母时,先看看它是不是已经在集合里面了。找到了?那就是重复
使用对象属性进行重复字符检查的步骤如下:
首先同样利用split方法将文本转化为字符数组;
然后创建一个空对象charMap;
好,我们开始检查这个字母表!看看这些字母是不是都已经出现在我们之前准备的那个叫charMap的东西里面了。
最后根据是否发现重复字符来返回相应结果。
这个办法虽然略繁琐些,但对付讨厌的重复字符还是挺给力的。但是在操作文件时,别忘了留意一下数据设计~
注意事项
function checkDuplicates(text) { var charArray = text.split(''); var charMap = {}; for (var i = 0; i < charArray.length; i++) { var currentChar = charArray[i]; if (charMap[currentChar]) { return true; } charMap[currentChar] = true; } return false; } var textWithDuplicates = "aabbccdd"; var textWithoutDuplicates = "abcd"; console.log(checkDuplicates(textWithDuplicates)); // true console.log(checkDuplicates(textWithoutDuplicates)); // false
记住这些点哈:编写JavaScript代码处理文本和检测重复时,不能掉以轻心。
切记,转成字符数组或其他格式处理时也别忘了关键内容!
用个简单好用的算法,还有靠谱的数据结构,搞掂需求就行。别忘了考虑下效率和内存占用
记住要考虑到意外情况!想一想可能会发生什么不同寻常的事或者有啥奇怪现象出现?然后,把这些解决问题的小妙招和技巧加进你的程序开发过程中去!
别忘了检查下你的浏览器是否兼容ES6,这样不论在哪儿敲代码,都能让你像子弹般的速度!
其实,JavaScript对网页做点啥都挺强项的!把它拿来发挥优势特点,处理个项目啥的肯定没问题,把网站质量提升也是稳赚不赔!
评论0