压缩字符aabbbcccc+++;到a@2b@3c@4+@3在javascript中
上面的问题是在面试时提出的,代码必须接受aabbbcccc++之类的输入,并且应该输出a@2b@3c@4+@3基于字符串出现的数量。您可以使用regex并在replace函数中捕获压缩字符aabbbcccc+++;到a@2b@3c@4+@3在javascript中,javascript,Javascript,上面的问题是在面试时提出的,代码必须接受aabbbcccc++之类的输入,并且应该输出a@2b@3c@4+@3基于字符串出现的数量。您可以使用regex并在replace函数中捕获 ()\1+-此处的表示匹配任何内容\1+表示通过()一次或多次匹配相同的字符。在回调函数中,我们首先返回连接和匹配长度和@ let str=`aabbbcccc+++` 让op=str.replace(/()\1+/g,函数(匹配,第一个){ 返回第一个+'@'+match.length; }) console.l
()\1+
-此处的
表示匹配任何内容\1+
表示通过()
一次或多次匹配相同的字符。在回调函数中,我们首先返回连接和匹配长度和@
let str=`aabbbcccc+++`
让op=str.replace(/()\1+/g,函数(匹配,第一个){
返回第一个+'@'+match.length;
})
console.log(op)
您可以使用regex并在replace函数中捕获
()\1+
-此处的
表示匹配任何内容\1+
表示通过()
一次或多次匹配相同的字符。在回调函数中,我们首先返回连接和匹配长度和@
let str=`aabbbcccc+++`
让op=str.replace(/()\1+/g,函数(匹配,第一个){
返回第一个+'@'+match.length;
})
log(op)
您可以尝试regex方法,也可以使用下面的代码段
基本回路
函数压缩(str){
let newstr=“”;
让计数=1;
设指数=0;
对于(设i=0;i),您可以尝试使用regex方法,也可以使用下面的代码段
基本回路
函数压缩(str){
let newstr=“”;
让计数=1;
设指数=0;
对于(假设i=0;我从一个循环开始…从一个循环开始…我们如何在不使用内置方法的情况下实现它?比如replaceetc@JpG您可以使用任何循环,并保留两个变量,一个用于当前字符,另一个用于连续数字计数。根据条件,您可以生成所需的字符串。如果您觉得有任何问题,请尝试使用循环mment将再次添加解决方案。以下是逻辑,请验证其正确性,函数compress(str){let newstr='';let count=1;let index=0(设i=0;i如何在不使用内置方法的情况下执行此操作?如替换etc@JpG您可以使用任何循环,并保留两个变量,一个用于当前字符,另一个用于连续数字计数。根据条件,您可以生成所需的字符串。如果觉得有任何问题,请尝试使用循环。再次注释将添加解决方案。以下是逻辑,请验证正确性,函数compress(str){let newstr='';let count=1;let index=0 for(let i=0;i