Javascript, Дана последовательность символов, букв некоторые из них могут быть словами. Задача найти !слово в котором первой буквой явлеетcя 'a'

Не получается решить задачку Даны натуральное число n, символы S1, S2, ..., Sn. Группы символов, разделённых пробелами (одним или несколькими) и не содержащим пробелов внутри себя будем называть словами. а) найти какое-нибудь слово, начинающиеся с буквы "а". вот мой пример

let n = 5; 
    let array = [];
    
    for(let i = 0; i < n; i++){
        array.push(prompt());
    }
    

    for(let i = 0; i < array.length; i++){
        if(array[i].length < 2){
            array.splice(i, 1);
        }
    }

    let element = 'a'

    let indexanswer

    let idx = array.indexOf(element);

    for(let i = 0; i < array.length; i++){
        if(array[idx][0] == element){
            indexanswer = idx; 

        }
        else if(array[idx][0] != element){
            while(idx != -1){
                idx = array.indexOf(element, idx + 1);
            }
        }
    }
    
    console.log(indexanswer);

то есть сначала я избавился от всех букв, оставил только слова. После стал искать вообще ли присутствует буква 'a' в словах. Потом стал проверять является ли она первой буквой в элементе. И возможно именно тут всё пошло наперекосяк, потому что в консоли пишет мол я не могу в проверке if(array[idx][0] == element) так писать.


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

Автор решения: Zhihar

а зачем так сложно?

const text = " 234   abc ggad  a    5gs ";

// разбить строку на слова используя в качестве разделителя пробел
const words = text.split(" ");

// просмотреть все слова и найти слово, которое начинается с 'a'
res = ""
for (word of words) {
    // если слово начинается с 'a' - запомнить его и выйти из цикла
    if (word[0] == 'a') {
        res = word;
        break;
    }
}

console.log(res);

или покороче, используя функционал Array:

const text = " 234   abc ggad  a    5gs ";
const words = text.split(" ");

res = words.find(obj => obj[0] == 'a');

console.log(res);

или совсем коротенько

const res = text.split(" ").find(obj => obj[0] == 'a');
→ Ссылка