Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tạo hoán vị bằng thay đổi chữ hoa thường trong JavaScript

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']