Computer >> Máy Tính >  >> Lập trình >> Javascript

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

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript có một chuỗi ký tự, str, làm đối số đầu tiên và duy nhất.

Hàm của chúng ta có thể biến đổi từng chữ cái riêng lẻ thành chữ thường hoặc chữ hoa để tạo một chuỗi khác. Và chúng tôi sẽ trả về một danh sách tất cả các chuỗi có thể có mà chúng tôi có thể tạo.

Ví dụ:nếu đầu vào của hàm là

Đầu vào

const str = 'k1l2';

Đầu ra

const output = ["k1l2","k1L2","K1l2","K1L2"];

Ví dụ

Sau đây là mã -

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

Đầu ra

[ 'k1l2', 'k1L2', 'K1l2', 'K1L2' ]