给定任意字符串,返回全部叠字的数组。示例html
输入:“独坐常忽忽,情怀何悠悠。山腰云缦缦,谷口风飕飕。”数组
输出:[“忽忽”,”悠悠”,”缦缦”,”飕飕”]code
-----------------------------------------------------------2018.10.27 我来更新啦,这样不是很简单吗?当时就是想不出来,还百度到这么奇葩的答案,哈哈,长个记性htm
<script> var str = "独坐常忽忽,情怀何悠悠。山腰云缦缦,谷口风飕飕。"; var arr = []; /* charAt() 方法可返回指定位置的字符,push追加到数组尾部 */ for(var i=0;i<str.length-2;i++){ if(str.charAt(i) == str.charAt(i+1)){ arr.push(str.charAt(i)+str.charAt(i+1)); } } console.log(arr); </script>
-----------------------------------------------------------如下是原答案ip
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> function copyWoorld(str) { var arr = str.split(''); var newArr = []; var arr2 = []; arr.forEach(function (ele,index,arr) { if( ele == ',' || ele == '。') { }else { // 打印符号,。前的那个字 if(newArr.indexOf(ele) < 0){ newArr.push(ele); }else{ arr2.push(ele + ele); } } }); return arr2; } console.log(copyWoorld('独坐常忽忽,情怀何悠悠。山腰云缦缦,谷口风飕飕。')); </script> </head> <body> </body> </html>