Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một chuỗi str và một số n. Hàm của chúng ta nên thay đổi chuỗi str đã cho bằng cách sử dụng n.
Mỗi bit trong n sẽ chỉ định có hay không hoán đổi trường hợp cho mỗi ký tự chữ cái trong s -
Nếu bit là 1, hãy hoán đổi trường hợp; nếu nó là 0, hãy để nguyên. Khi chúng ta kết thúc với bit cuối cùng của n, hãy bắt đầu lại với bit đầu tiên.
Và cuối cùng, chúng ta nên trả về chuỗi mới do đó tạo thành.
Ví dụ
Sau đây là mã -
const str = 'hey there'; const num = 21; const swapCase = (str = '', num = 1) => { const alphaLength = str .split('') .reduce((acc, val) => val.toLowerCase() !== val.toUpperCase() ? ++acc : acc, 0); let binary = num.toString(2); while(binary.length < alphaLength){ binary += binary; }; let res = ''; for(let i = 0; i < str.length; i++){ const el = str[i]; if(el.toUpperCase() !== el.toLowerCase() && +binary[i] === 1){ if(el.toLowerCase() === el){ res += el.toUpperCase(); }else{ res += el.toLowerCase(); } }else{ res += el; }; }; return res; }; console.log(swapCase(str, num));
Đầu ra
Sau đây là đầu ra của bảng điều khiển -
HeY TheRe