Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Училка дала задание, кто может помочь (https://javascript.ru/forum/jquery/80226-uchilka-dala-zadanie-kto-mozhet-pomoch.html)

Duraciok777 11.05.2020 09:55

Училка дала задание, кто может помочь
 
Всем хай, училка давно дала задание, а я про него совсем забыл, так вот времени почти нету, кто мог бы помочь.


Задание:
Напишите функцию, которой передается слово, и функция возвращает букву в середине слова (для нечетного числа букв в слове) или две буквы в середине слова (для четного числа букв в слове).
Используя созданную функцию, реализуйте решение: на странице предусмотрена форма, позволяющая вводить текст, и кнопка.

Когда вы вводите текст и нажимаете кнопку, текст на странице разделяется словами и отображаются буквы или буквы в середине слов.

Например:
Написав, у меня 5 хороших друга. Выводится : Меня ( ен ). хороших (ош), друга (у)

Nexus 11.05.2020 13:12

<form>
    <textarea></textarea>
    <textarea readonly></textarea>
    <button type="submit">Кнопка</button>
</form>

<style>
    form * {
        display: block;
        margin-bottom: 5px;
        width: 100%;
        box-sizing: border-box;
    }
</style>

<script>
    var form = document.querySelector('form'),
        textarea = form.querySelector('textarea'),
        resultContainer = form.querySelector('textarea[readonly]'),
        button = form.querySelector('button');
    
    function getMiddleCharOfWord(word) {
        var position = Math.floor(word.length / 2);
        
        if (word.length % 2 === 0) {
            return word.charAt(position - 1) + word.charAt(position);
        }
        
        return word.charAt(position);
    };
    
    form.addEventListener('submit', function (e) {
        e.preventDefault();
        
        var words = textarea.value.split(' ').filter(function (word) {
            return word.length > 2;
        }).map(function (word) {
            return `${word} (${getMiddleCharOfWord(word)})`;
        });
        
        resultContainer.value = words.join(' ');
    });
</script>


Часовой пояс GMT +3, время: 04:18.