Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi ký tự str làm đối số duy nhất. Hàm có thể biến đổi từng chữ cái riêng lẻ thành chữ thường hoặc chữ hoa để tạo chuỗi khác. Và chúng ta phải trả về danh sách tất cả các chuỗi có thể tạo ra.
Ví dụ, nếu đầu vào là:
Đầu vào
const str = 'k1l2';
Đầu ra
const output = ["k1l2","k1L2","K1l2","K1L2"];
Ví dụ
Dưới đây là mã thực hiện:
const str = 'k1l2';
const changeCase = function (S = '') {
const res = [];
const helper = (ind = 0, current = '') => {
if (ind >= S.length) {
res.push(current);
return;
}
if (/[a-zA-Z]/.test(S[ind])) {
helper(ind + 1, current + S[ind].toLowerCase());
helper(ind + 1, current + S[ind].toUpperCase());
} else {
helper(ind + 1, current + S[ind]);
}
};
helper();
return res;
};
console.log(changeCase(str));
Kết quả
['k1l2', 'k1L2', 'K1l2', 'K1L2']