запись строки в массив через цикл

у меня было задание по смене регистра, при определенных условиях, со строки, это я выполнил, только не могу понять как результат заново собрать в одну строку

function capsLock(str) {
    let splitedString = str.split(' ')

    for(let i = 0; i < splitedString.length; i++) {

        let splitedLetters = splitedString[i].split('')

        if(splitedLetters[0].match('[a-z]')) {
            for(let y = 1; y < splitedLetters.length; y++) {
                if(splitedString[i].slice(1).match('[a-z]')) {
                    console.log(splitedString[i]) 
                    break
                } else if(splitedString[i].slice(1).match('[A-Z]')) {
                    console.log(`${splitedLetters[0].toUpperCase()}${splitedString[i].slice(1).toLowerCase()}`)
                    break
                }
            }
        } else if(splitedLetters[0].match('[A-Z]')) {
            for(let y = 1; y < splitedLetters.length; y++) {
                if(splitedString[i].slice(1).match('[a-z]')) {
                    console.log(splitedString[i]) 
                    break
                } else if(splitedString[i].slice(1).match('[A-Z]')){
                    console.log(`${splitedLetters[0].toUpperCase()}${splitedString[i].slice(1).toLowerCase()}`) 
                    break
                }
            }
        }     
    }
}

capsLock('cAPS')
capsLock('Lock')
capsLock('wHY DO wE NEED cAPS lOCK?')
capsLock('FuNkY iS nOt CaPs!')


Ответы (1 шт):

Автор решения: Pavel Grishaev

function capsLock(str) {
    let splitedString = str.split(' ');
    let resultStringsArray = [];

    for(let i = 0; i < splitedString.length; i++) {

        let splitedLetters = splitedString[i].split('')

        if(splitedLetters[0].match('[a-z]')) {
            for(let y = 1; y < splitedLetters.length; y++) {
                if(splitedString[i].slice(1).match('[a-z]')) {
                    resultStringsArray.push(splitedString[i]) 
                    break
                } else if(splitedString[i].slice(1).match('[A-Z]')) {
                    resultStringsArray.push(`${splitedLetters[0].toUpperCase()}${splitedString[i].slice(1).toLowerCase()}`)
                    break
                }
            }
        } else if(splitedLetters[0].match('[A-Z]')) {
            for(let y = 1; y < splitedLetters.length; y++) {
                if(splitedString[i].slice(1).match('[a-z]')) {
                    resultStringsArray.push(splitedString[i]) 
                    break
                } else if(splitedString[i].slice(1).match('[A-Z]')){
                    resultStringsArray.push(`${splitedLetters[0].toUpperCase()}${splitedString[i].slice(1).toLowerCase()}`) 
                    break
                }
            }
        }     
    }
    
    return resultStringsArray.join(' ');
}

console.log( capsLock('cAPS') );
console.log( capsLock('Lock') );
console.log( capsLock('wHY DO wE NEED cAPS lOCK?') );
console.log( capsLock('FuNkY iS nOt CaPs!') );

→ Ссылка