反轉 or 迴轉

codewars

Code Kata

這題考的是我的英文能力 =)))))

題目連結

 

--------------------------

function revrot(str, sz) {
   if (str.length == 0 || sz<=0 || str.length < 5){
    return "";
   }
   else{
     var ans ="";
     var chunk_num = parseInt(str.length/sz);
     str = str.slice(0,sz*chunk_num); //捨去多的字
     for (var i =0 ;i < str.length ;i =i+sz){
       var chunk = str.slice(i,i+sz);
       var chunk_sum = chunk.split("").reduce((a, b) => parseInt(a) + parseInt(b), 0); //先拆成陣列後陣列數值加總*注意型別
       if (chunk_sum %2 ==0){
       //反轉
         ans += chunk.slice(0,sz).split("").reverse().join(""); //反轉-先拆成陣列再用reverse函數再組回去字串
       }
       else{
       //左移
         ans += chunk.slice(1,sz) +  chunk.slice(0,1);
       }
     } 
     return ans;
   }
}

--------------------------