1 - Criar uma função que retorne a quantidade de vogais da palavra passada:
Criei uma função principal chamada contarVogais que recebe uma string como parâmetro e retorna a quantidade de vogais presentes na palavra. Usei a string de caracteres vogais "aeiouAEIOU" para verificar se cada letra é uma vogal.
function contarVogais(palavra: string): number {
const vogais = "aeiouAEIOU";
return Array.from(palavra).filter(letra => vogais.includes(letra)).length;
};
a) Dar um exemplo de uso com uma palavra recebida via parâmetro da função:
Utilizei a palavra "exemplo" para testar a função. Como resultado, a função retornou 3 vogais.
b) Dar um exemplo de uso com uma palavra recebida via input no formulário:
Criei uma função chamada mostrarResultado que recebe as informações do input que recebe a classe palavra, onde retorna a quantidade de vogais da mesma. Caso o usuário não escreva nada no campo de texto e clique no botão que recebe o valor resultado, aparecerá uma mensagem pedindo que escreva algo.
function mostrarResultado(): void {
const palavraInput = (getElementoPorId('palavra') as HTMLInputElement)?.value.trim();
const resultadoDiv = getElementoPorId('resultado');
if (!palavraInput) {
atualizarResultado(resultadoDiv, 'Por favor, digite uma palavra.');
return;
};
const resultado = contarVogais(palavraInput);
atualizarResultado(resultadoDiv, `A palavra '${palavraInput}' tem ${resultado} vogais.`);
};
2 - Dado o array:
let lista: Item[] = [
{ id: 1, name: "Ada Lovelace", bio: "Matemática e escritora inglesa, pioneira em algoritmos." },
{ id: 2, name: "Alan Turing", bio: "Pai da ciência da computação e da inteligência artificial." },
{ id: 3, name: "Nikola Tesla", bio: "Inventor e engenheiro conhecido por suas contribuições à eletricidade." },
{ id: 4, name: "Nicolau Copérnico", bio: "Astrônomo que desenvolveu a teoria heliocêntrica." }
];
a) Crie uma função que retorne a bio do id passado
A função exibirBio busca na lista de itens a biografia do usuário. Se o ID não for válido, a função exibe uma mensagem de que o ID não é válido. Se encontrar o item, ela vai mostrar a história dele.
function exibirBio(): void {
const id = parseInt((document.getElementById('id') as HTMLInputElement).value);
const resultadoDiv = document.getElementById('resultado2') as HTMLDivElement;
if (isNaN(id)) {
resultadoDiv.innerText = 'Por favor, digite um ID válido.';
return;
}
const item = lista.find(item => item.id === id);
if (item) {
resultadoDiv.innerText = `Biografia: ${item.bio}`;
} else {
resultadoDiv.innerText = 'Nenhuma biografia encontrada para este ID.';
};
};
b) Crie uma função que retorne o nome do id passado
É parecida com a exibiçãoBio, mas em vez de mostrar a biografia, mostra o nome do item correspondente ao ID. Se o número do usuário não for encontrado ou estiver errado, a função avisa que o número não existe.
function exibirNome(): void {
const id = parseInt((document.getElementById('id') as HTMLInputElement).value);
const resultadoDiv = document.getElementById('resultado2') as HTMLDivElement;
if (isNaN(id)) {
resultadoDiv.innerText = 'Por favor, digite um ID válido.';
return;
};
const item = lista.find(item => item.id === id);
if (item) {
resultadoDiv.innerText = `Nome: ${item.name}`;
} else {
resultadoDiv.innerText = 'Nenhum nome encontrado para este ID.';
};
};
c) Crie uma função que apague um item da lista a partir de um id passado
Essa função tenta remover o item correspondente. Se o ID for válido, a função usa splice para excluir o item e atualizar a página. Se o ID não for encontrado ou inválido, ela avisa que não existe. A função atualiza a lista se houver alterações.
function deletarItem(): void {
const id = parseInt((document.getElementById('id') as HTMLInputElement).value);
const resultadoDiv = document.getElementById('resultado2') as HTMLDivElement;
if (isNaN(id)) {
resultadoDiv.innerText = 'Por favor, digite um ID válido.';
return;
};
const index = lista.findIndex(item => item.id === id);
if (index !== -1) {
lista.splice(index, 1);
resultadoDiv.innerText = `Item com ID ${id} foi deletado.`;
renderLista();
} else {
resultadoDiv.innerText = 'Item não encontrado.';
};
};
d) Crie uma função que altere a bio ou o name a partir de um id passado
Essa função muda os dados de um item. Ela recebe o ID, nome e biografia e atualiza o item. Se você quiser mudar apenas um dos campos (nome ou biografia), pode fazer isso, mas só o campo que foi preenchido será mudado. Se ambos os campos forem atualizados, a função atualiza ambos os campos. Se o ID não estiver correto, a função avisa que o item não foi encontrado.
function atualizarItem(): void {
const id = parseInt((document.getElementById('id') as HTMLInputElement).value);
const newName = (document.getElementById('novoNome') as HTMLInputElement).value.trim();
const newBio = (document.getElementById('novaBio') as HTMLInputElement).value.trim();
const resultadoDiv = document.getElementById('resultado2') as HTMLDivElement;
if (isNaN(id) || (!newName && !newBio)) {
resultadoDiv.innerText = 'Por favor, digite um ID válido e pelo menos um campo para atualizar.';
return;
};
const item = lista.find(item => item.id === id);
if (item) {
if (newName) item.name = newName;
if (newBio) item.bio = newBio;
resultadoDiv.innerText = `Item com ID ${id} foi atualizado.`;
renderLista();
} else {
resultadoDiv.innerText = 'Item não encontrado.';
};
};