Софтуерно Инженерство
Loading...
+ Нов въпрос
Ivankooo1 avatar Ivankooo1 11 Точки

JS Fundamentals Exams - Weaponsmith

Здравейте бих искал малко помощ за тази задача номер 2 - https://judge.softuni.bg/Contests/1859/Programming-Fundamentals-Mid-Exam-2-November-2019-Group-1 при командата 'Move Right 0' и идея си нямам как да преместя стринга в масива от индекс 0 една позиция надясно. А това е моето структуриране на задачата което докарах дотук засега https://pastebin.com/7R6Ceume

Тагове:
0
Fundamentals Module
willystyle avatar willystyle 1297 Точки
Best Answer

Здравей,

за да размениш стойностите на две променливи обикновено ползваме temp променлива:

let temp = a;
a = b;
b = temp;

но деструкторирането ни дава по-кратък запис:

[a, b] = [b, a];

Ето и цялото решение:

function solve(arr) {
    let weaponNameParts = arr.shift().split('|');
    for (let element of arr) {
        if (element === 'Done') {
            break;
        }
        let [command, position, index] = element.split(' ');
        switch (command) {
            case 'Move':
                index = +index;
                switch (position) {
                    case 'Left':
                        if (index > 0 && index < weaponNameParts.length) {                            
                            [weaponNameParts[index - 1], weaponNameParts[index]] = [weaponNameParts[index], weaponNameParts[index - 1]];
                            break;
                        }
                        break;
                    case 'Right':
                        if (index >= 0 && index < weaponNameParts.length - 1) {                            
                            [weaponNameParts[index + 1], weaponNameParts[index]] = [weaponNameParts[index], weaponNameParts[index + 1]];
                            break;
                        }
                        break;
                }
                break;
            case 'Check':
                switch (position) {
                    case 'Even':
                        console.log(weaponNameParts.filter((el, index) => index % 2 === 0).join(' '));
                        break;
                    case 'Odd':
                            console.log(weaponNameParts.filter((el, index) => index % 2 !== 0).join(' '));
                        break;
                }
                break;
        }
    }
    console.log(`You crafted ${weaponNameParts.join('')}!`);
}

 

0
1
Ivankooo1 avatar Ivankooo1 11 Точки

Много благодаря!

1