JavaScript查看word是否包含有序的递增/递减字符,然后重复

JavaScript查看word是否包含有序的递增/递减字符,然后重复,javascript,node.js,string,algorithm,refactoring,Javascript,Node.js,String,Algorithm,Refactoring,编写了2个用于检查字符串的代码库。 -第一个是确认字符串中是否包含3个或更多重复字符(111,***,sss)。 -如果字符串包含3个或更多有序字符(123、efg、nml、654),则为第二个。有序字符串检查数字或字母是否按字符升序或降序排列 有什么我应该担心的边缘案例吗?有什么方法可以优化这两种情况吗?我想把这两种算法分开 //code for consecutive repeated character const str= 'adsas111';//return true since

编写了2个用于检查字符串的代码库。 -第一个是确认字符串中是否包含3个或更多重复字符(111,***,sss)。 -如果字符串包含3个或更多有序字符(123、efg、nml、654),则为第二个。有序字符串检查数字或字母是否按字符升序或降序排列

有什么我应该担心的边缘案例吗?有什么方法可以优化这两种情况吗?我想把这两种算法分开

//code for consecutive repeated character 
const str= 'adsas111';//return true since 111 is repeated
let count=1;
        for (let i = 0; i < str.length-1; i++) {
          if(str.charAt(i) === str.charAt(i+1)) count++;
          else if(count <3) count =1
          if(count === 3) return console.log('It is repeated');
        }
//连续重复字符的代码
常量str='adsas111'//由于111被重复,因此返回true
让计数=1;
for(设i=0;i否则,如果(count=97&&str.charCodeAt(i)=48&&str.charCodeAt(i)重复序列是
!“#
被视为一个序列?或者它是三个顺序码点的任意序列,当ex.
@AB
将是一个要匹配的序列时?是否有理由不为算法1使用正则表达式?例如
()\1\1
()它只是一个由3个或更多字母或数字组成的序列,并假设字符串都是小写字母,使其仅检查字母数字值,添加了一个检查,以查看asci范围是否在a到z和0到9之间。

//code for consecutive ordered character 
const str= 'adsa!"#32112s11'; // return true since 321 is repeated
  let ascCount=1;
    let descCount=1
    let len=str.length-1;
    for (let i = 0; i < str.length-1; i++) {
      if((str.charCodeAt(i)>=97 && str.charCodeAt(i)<=122) || (str.charCodeAt(i)>=48 && str.charCodeAt(i)<=57)) {
      if(str.charCodeAt(i)+1 === str.charCodeAt(i+1)) ascCount ++;
      else if(ascCount <3) ascCount =1
      if(str.charCodeAt(len--)+1 === str.charCodeAt(len)) descCount ++;
      else if(descCount <3) descCount =1
      if(ascCount === 3 || descCount === 3) return console.log('is in order');
      }
    }