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;
}
}
--------------------------