Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(args) {
- let currentMessage = args.shift();
- let inputString = args.shift();
- while (inputString !== 'Finish') {
- const [command, arg1, arg2] = inputString.split(' ');
- switch (command) {
- case 'Replace':
- currentMessage.split('').forEach((ch) => {
- if (ch === arg1) {
- currentMessage = currentMessage.replace(arg1, arg2);
- }
- });
- console.log(currentMessage);
- break;
- case 'Cut':
- const beginIndex = Number(arg1);
- const endIndex = Number(arg2);
- if (currentMessage[beginIndex] && currentMessage[endIndex]) {
- const cutStr = currentMessage.slice(beginIndex, endIndex + 1);
- currentMessage = currentMessage.replace(cutStr, '');
- console.log(currentMessage);
- } else {
- console.log('Invalid indexes!');
- }
- break;
- case 'Make':
- if (arg1 === 'Upper') {
- currentMessage = currentMessage.toUpperCase();
- } else if (arg1 === 'Lower') {
- currentMessage = currentMessage.toLowerCase();
- }
- console.log(currentMessage);
- break;
- case 'Check':
- if (currentMessage.includes(arg1)) {
- console.log(`Message contains ${arg1}`);
- } else {
- console.log(`Message doesn't contain ${arg1}`);
- }
- break;
- case 'Sum':
- let sumOfIndex = 0;
- if (currentMessage[Number(arg1)] && currentMessage[Number(arg2)]) {
- const cutStr = currentMessage.slice(Number(arg1), Number(arg2) + 1);
- cutStr.split('').forEach((ch) => {
- const takeLeftLetterIndex = currentMessage.indexOf(ch);
- const takeLetterCode = currentMessage.charCodeAt(takeLeftLetterIndex);
- sumOfIndex += takeLetterCode;
- });
- console.log(sumOfIndex);
- } else {
- console.log('Invalid indexes!');
- }
- break;
- default:
- break;
- }
- inputString = args.shift();
- }
- }
Add Comment
Please, Sign In to add comment