📌  相关文章
📜  如何在字符串中查找重复项 - Javascript (1)

📅  最后修改于: 2023-12-03 15:24:37.877000             🧑  作者: Mango

如何在字符串中查找重复项 - Javascript

在开发中,我们经常需要对字符串进行操作,其中之一就是查找出重复的字符或者字符串。在本文中,我们将介绍如何在Javascript中查找出字符串中的重复项。

方法一:使用for循环进行查找

在Javascript中,我们可以使用for循环遍历字符串中的所有字符,然后将当前字符作为key存储到一个对象中,如果当前字符在对象中已经存在过,则说明这是一个重复字符。

下面是具体的实现代码:

function findDuplicates(str){
  let obj = {};
  let result = "";
  for(let i=0; i<str.length; i++){
    if(obj[str[i]]){
      result += str[i];
    }
    else{
      obj[str[i]] = 1;
    }
  }
  return result;
}

console.log(findDuplicates("hello world"));

在以上代码中,我们定义了一个空对象obj和一个空字符串result。然后遍历字符串中的每个字符,将当前字符作为key存储到obj中。如果 obj[str[i]] 已经存在,则说明这是一个重复字符,我们将它追加到result字符串中。如果不存在,则将该key的value设置为1。

最后,我们返回result字符串,即为字符串中的重复项。

方法二:使用正则表达式进行查找

除了使用for循环外,我们还可以使用正则表达式来查找重复项。我们可以使用正则表达式中的反向引用来查找重复字符或字符串。

下面是实现代码:

function findDuplicatesReg(str) {
  return str.match(/([\w\W])(?=\1)/g);
}

console.log(findDuplicatesReg('hello world'));

在以上代码中,我们使用正则表达式 /( [\w\W] )(?=\1)/g 来查找重复项。其中:

  • ([\w\W]) 表示任意字符,包括换行符和空格
  • (?=\1) 表示向前查找该字符,并且该字符和当前字符相同
  • g 表示全局匹配

最后,我们返回匹配到的重复项数组即可。

总结

以上就是在Javascript中如何查找字符串中的重复项的两种方法。两种方法各有优劣,可以根据实际情况进行选择。如果需要快速查找重复项,建议使用正则表达式方法。如果需要自定义操作,可以使用for循环遍历字符进行判断。

如果您还有其他方法,欢迎在评论区留言分享。