Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số n (n>0). Hàm phải trả về một mảng chứa các phần liên tiếp của các chữ số chẵn hoặc lẻ. Nghĩa là chúng ta tách số tại các vị trí gặp chữ số khác loại (chẵn cho lẻ, lẻ cho chẵn).
Ví dụ
Dưới đây là mã:
const num = 124579;
const splitDifferent = (num = 1) => {
const str = String(num);
const res = [];
let temp = '';
for(let i = 0; i < str.length; i++){
const el = str[i];
if(!temp || +temp[temp.length - 1] % 2 === +el % 2){
temp += el;
}else{
res.push(+temp);
temp = el;
};
};
if(temp){
res.push(+temp);
temp = '';
};
return res;
};
console.log(splitDifferent(num));
Kết quả
[ 1, 24, 579 ]