Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Praticando procurar em listas

Boa tarde! Hoje eu estava praticando como procurar elementos dentro de um array e fiz da seguinte forma como foi ensinado no curso de JavaScript da Alura:

const listaCarros = ["Fusca", "Civic", "Onix", "Corolla", "Gol", "Palio"];
const listaMarcas = [
  "Volkswagen",
  "Honda",
  "Chevrolet",
  "Toyota",
  "Fiat",
  "Ford",
];
const listaResultados = [listaCarros, listaMarcas];

function procurarCarro(carro) {
  if (listaResultados[0].includes(carro)) {
    const indicie = listaResultados[0].indexOf(carro);
    const marcaCarro = listaResultados[1][indicie];
    console.log(`O carro ${carro} é da marca ${marcaCarro}.`);
  } else {
    console.log(`O carro ${carro} não foi encontrado.`);
  }
}

procurarCarro("Civic");
procurarCarro("Fusca");
procurarCarro("Ferrari");
3 respostas

Olá, Guilherme, como vai?

Seu código para procurar elementos dentro do array está correto e segue uma lógica clara, ele funciona muito bem para listar paralelas, como as que você criou.

Uma alternativa seria usar um objeto para mapear diretamente cada carro à sua marca, assim a busca fica mais rápida e o código mais simples:

const carrosMarcas = {
  Fusca: "Volkswagen",
  Civic: "Honda",
  Onix: "Chevrolet",
  Corolla: "Toyota",
  Gol: "Fiat",
  Palio: "Ford",
};

function procurarCarro(carro) {
  if (carrosMarcas[carro]) {
    console.log(`O carro ${carro} é da marca ${carrosMarcas[carro]}.`);
  } else {
    console.log(`O carro ${carro} não foi encontrado.`);
  }
}

procurarCarro('Civic')

Assim, você evita usar índices e pode fazer consultas diretas.

Fique à vontade para continuar postando aqui no fórum, estamos sempre à disposição.

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

Bom dia, Mike! tudo bem? Eu testei aqui e deu certo também, muito obrigado. Me tire uma dúvida, como eu iria utilizar os arrays para trazer as informações do backend?

solução!

Oi, Guilherme.

Quando você busca dados de um backend, geralmente você vai receber as informações em algum formato estruturado, como JSON. Para manter a ideia de trabalhar com arrays, imagine que você receba do backend algo assim:

const dadosDoBackend = [
  { carro: "Fusca", marca: "Volkswagen" },
  { carro: "Civic", marca: "Honda" },
  { carro: "Onix", marca: "Chevrolet" },
  // e assim por diante
];

Nesse caso, você pode filtrar usando métodos de array, como find ou filter. Por exemplo:

function procurarCarro(carro) {
  const resultado = dadosDoBackend.find(item => item.carro === carro);
  if (resultado) {
    console.log(`O carro ${carro} é da marca ${resultado.marca}.`);
  } else {
    console.log(`O carro ${carro} não foi encontrado.`);
  }
}

Assim você trabalha com o array de objetos recebido e acessa as informações do backend de forma eficiente.

Qualquer outra dúvida, o fórum está à disposição.