1
resposta

Desafio Finalizado Parte 1 (Sara)

// Crie um objeto chamado pessoa que represente informações sobre uma pessoa.
// Adicione um método chamado calcularMediaNotas ao objeto pessoa. Este método deve calcular a média das notas da pessoa.

const pessoa = {
    nome : 'Sara',
    notas : [5.5, 8, 3.8, 10],
    calcularMediaNotas : function() {
        const mediaNotas = this.notas.reduce((soma, nota) => soma + nota, 0);
        const resultadoTotal = mediaNotas / this.notas.length;
        return resultadoTotal.toFixed(2);
    },
}

console.log(pessoa.calcularMediaNotas());

//Adicione um método chamado classificarDesempenho ao objeto pessoa. 
// Este método deve retornar uma categoria de desempenho com base na média calculada. 

pessoa.classificarDesempenho = function () {
    const media = this.calcularMediaNotas();
    if(media >= 9){
        return `Desempenho excelente: ${this.media}`;
    } else if(media >= 7.5 && media < 8.9){
        return `Bom desempenho: ${media}`;
    }else if(media > 6 && media < 7.5){
        return `Desempenho regular: ${media}`;
    }else{
        return `Desempenho insuficiente: ${media}`;   
    }
}

// Chame o método calcularMediaNotas para calcular a média das notas da pessoa e imprima no console a média calculada.
// Chame o método classificarDesempenho e imprima no console a categoria de desempenho da pessoa.

console.log(pessoa.classificarDesempenho());
const mediaCalculada = pessoa.classificarDesempenho();
    console.log(`${pessoa.nome} teve uma media de: ${pessoa.calcularMediaNotas()} e o desempenho foi: ${mediaCalculada}`);

// Crie um objeto chamado carro que represente as informações de um veículo.

export const carro = {
    marca : 'Bugatti',
    modelo : 'Chiron',
    ano : 2020,
    cor : 'Azul'
}

// Utilize o loop for...in para percorrer todas as propriedades do objeto carro e imprima no console o nome da propriedade e o seu valor.
for (let chave in carro){
    console.table(`${chave}, ${carro[chave]}`);
};

// Adicione mais propriedades ao objeto carro para representar características adicionais do veículo.

carro.caracteristicas = {
    motor : 'W16 Quad-Turbo',
    tracaoIntegral : true,
    velocidadeMaxima : '420 KM/h'
}; 

console.log(carro);

// Utilize novamente o loop for...in para percorrer todas as propriedades atualizadas 
// do objeto carro e imprima no console o nome da propriedade e o seu valor.

for (let chave in carro){
    const tipo = typeof carro[chave];
    if (tipo !== 'object' && tipo !== 'function'){
        const texto = `A chave ${chave}, tem o valor ${carro[chave]}`;
            console.log(texto);
    }
};
1 resposta

Oi, Sara! Como vai?

Gostei muito da forma como você estruturou os métodos no objeto pessoa e também de como explorou o for...in para percorrer o objeto carro. Essa prática ajuda bastante a consolidar o entendimento sobre objetos em JavaScript.

Uma dica interessante para o futuro é usar o método Object.keys(), que retorna as chaves de um objeto em um array.


const carro = { marca: "Bugatti", modelo: "Chiron" };

Object.keys(carro).forEach((chave) => {
    console.log(chave + ": " + carro[chave]);
});

Esse código percorre todas as propriedades do objeto e imprime chave e valor no console.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!