例子:'abcaakjbb' => {'a':2,'b':2},'abbkejsbcccwqaa' => {'c':3}
思路:首先运用正则表达式(按照相同字符)进行分割成数组,然后比较数组中的长度,找出长度最长的字符串,他的首位就是输出对象的键值,他的length就是属性值。
我的答案:
function findLong(str){
let obj={}
let a=0 //数字
let b=0 //字符
return function(){
let res=str.match(/(\w)\1*/g)
console.log(res)
for (let i=0;i<res.length;i++){
if(res[i].length>a){
obj={}
a=res[i].length
b=res[i].charAt(0)
obj[b]=a
}
if(res[i].length===a){
let b=res[i].charAt(0)
obj[b]=a
}
}
return obj
}
}
var str1='abbkejsbcccwqaa'
var str2='abcaakjbb'
console.log(findLong(str2)())