1
resposta

PRÁTICA COM ATIVIDADES: RESPOSTA;

ATIVIDADE 1:

//IMPORTANDO O CONTEÚDO DO ARQUIVO "dados.json" 
const dadosImportados = require('./dados.json');

console.log(dadosImportados); //saída:

// {
//     produtos: [
//       { id: 1, nome: 'Camiseta', preco: 25.99 },
//       { id: 2, nome: 'Calça Jeans', preco: 49.99 }
//     ],
//     usuarios: [
//       { id: 101, nome: 'João', email: 'joao@example.com' }, 
//       { id: 102, nome: 'Maria', email: 'maria@example.com' }
//     ]
//   }

//acessando propriedades específicas dentro do obj "dadosImportados"

console.log(dadosImportados.usuarios[0].nome); //saída: João

console.log(dadosImportados.produtos); //saída: [ { id: 1, nome: 'Camiseta', preco: 25.99 }, { id: 2, nome: 'Calça Jeans', preco: 49.99 } ]

ATIVIDADE 2:

(para esta atividade, utilizei o arquivo dados.json disponibilizado pela própria instrutora.)

ARQUIVO JSON

{
    "produtos": [
        {
            "id": 1,
            "nome": "Camiseta",
            "preco": 25.99
        },
        {
            "id": 2,
            "nome": "Calça Jeans",
            "preco": 49.99
        }
    ],
    "usuarios": [
        {
            "id": 101,
            "nome": "João",
            "email": "joao@example.com"
        },
        {
            "id": 102,
            "nome": "Maria",
            "email": "maria@example.com"
        }
    ]
}

ARQUIVO JS

//IMPORTANDO DADOS DO ARQUIVO "dados.js"
const dadosImportados = require('./dados.json');

console.log(dadosImportados); //saída:

// {
//     produtos: [
//       { id: 1, nome: 'Camiseta', preco: 25.99 },
//       { id: 2, nome: 'Calça Jeans', preco: 49.99 }
//     ],
//     usuarios: [
//       { id: 101, nome: 'João', email: 'joao@example.com' }, 
//       { id: 102, nome: 'Maria', email: 'maria@example.com' }
//     ]
//   }

ATIVIDADE 3:


//CRIANDO OBJ JS COM ALGUMAS INFORMAÇÕES 
const produto = {
    id:1,
    nome:'Pelucia Knight',
    preco:75.00
}

const stringProduto = JSON.stringify(produto);
console.log(typeof stringProduto);
console.log(stringProduto); //saída: {"id":1,"nome":"Pelucia Knight","preco":75} (string)

ATIVIDADE 4:

ARQUIVO JSON:

{
    "animais": [
        {
            "id": 1,
            "nome": "Leão",
            "tipo": "Mamífero",
            "habitat": "Savana"
        },
        {
            "id": 2,
            "nome": "Pinguim",
            "tipo": "Ave",
            "habitat": "Pólo Sul"
        },
        {
            "id": 3,
            "nome": "Cobra",
            "tipo": "Réptil",
            "habitat": "Floresta Tropical"
        }
    ]
}

ARQUIVO JS

//RECUPERANDO DADOS DENTRO DO ARQUIVO "animais.json"
const objAnimais = require('./animais.json');

//não há a necessidade de converter para JS, tendo em vista que o require já o faz automaticamente.

// C) ADICIONE UM NOVO ANIMAL À LISTA

//criando novo obj de animal
const novoAnimal = {
    id: 4,
    nome: 'Bulldog',
    tipo: 'Mamífero',
    habitat: 'Casa'
}

//FAZENDO UM PUSH DE novoAnimal DENTRO DA ARRAY DE OBJETOS animais
objAnimais.animais.push(novoAnimal);
console.log(objAnimais); //saída: ... { id: 4, nome: 'Bulldog', tipo: 'Mamífero', habitat: 'Casa' }

// D) MODIFICANDO O HABITAT DE UM ANIMAL JÁ EXISTENTE

objAnimais.animais[1].habitat = 'Zoológico (infelizmente)'
console.log(objAnimais.animais[1]); //saída: {id: 2, nome: 'Pinguim', tipo: 'Ave', habitat: 'Zoológico (infelizmente)' }

// E) REMOVENDO ANIMAL DO ARRAY DE ANIMAIS

objAnimais.animais.pop();
console.log(objAnimais.animais[3]); //undefined (NOSSO BULLDOG VEIO A FALECER DE ASMA)

// F) CONVERTENDO O NOSSO OBJ PARA UMA ARRAY

const arrayAnimais = JSON.stringify(objAnimais);
console.log(arrayAnimais); //saída:

// {"animais":[{"id":1,"nome":"Leão","tipo":"Mamífero","habitat":"Savana"},{"id":2,"nome":"Pinguim","tipo":"Ave","habitat":"Zoológico (infelizmente)"},{"id":3,"nome":"Cobra","tipo":"Réptil","habitat":"Floresta Tropical"}]}

// G) IMPRIMINDO NOSSO OBJ JS RESULTANTE DAS MANIPULAÇÕES

console.log(objAnimais); //saída:

// {
//     animais: [
//       { id: 1, nome: 'Leão', tipo: 'Mamífero', habitat: 'Savana' },
//       { id: 2, nome: 'Pinguim', tipo: 'Ave', habitat: 'Zoológico (infelizmente)' }, <- nossa manipul.
//       { id: 3, nome: 'Cobra', tipo: 'Réptil', habitat: 'Floresta Tropical' }
//     ]
//   }

ATIVIDADE 5:

//CRIANDO O OBJ "objPessoa" COM ALGUMAS INFORMAÇÕES
const objPessoa = {
    id: 1,
    nome: 'Saturn',
    idade: 18
}

//CRIANDO NOSSA FUNÇAO QUE DUPLICA OBJETOS JS COM NOSSA TÉCNICA DE CLONAGEM PROFUNDA
function duplicarObj(obj) {
    return JSON.parse(JSON.stringify(obj))
};

//SALVANDO NOSSA CÓPIA EM CONST
const objDuplicado = duplicarObj(objPessoa);

objDuplicado.id = 8;

console.log(objDuplicado);
console.log(objPessoa); 
1 resposta

Olá, tudo bem com você?

Obrigado por compartilhar seu modo de resolução com a comunidade Alura. Continue praticando e explorando diferentes códigos para fortalecer seu entendimento.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!