1
resposta

[Dúvida] Find - Objeto

Olá, boa tarde

No modulo 5 da aula sobre Objetos vimos que podemos encontrar e retornar uma determinada informação dentro de uma lista JSON, no exemplo em questão, os parâmetros são uma a lista, chave ("telefone") e o valor referente a ela ("1918820860").

function encontrar(lista, chave, valor) {
    return lista.find((item) => item[chave].includes(valor));
  }
const encontrado = encontrar(clientes, "telefone", "4733865848")
console.log(encontrado)

mas...e se o parâmetro da buscar for identificar aqueles clientes que moram em apartamento ("apartamentos" : "true") , como poderia ser feito?

[
    {
      "nome":"Olva",
      "email":"olippini0@deviantart.com",
      "telefone":[
        "4733865848",
        "47933865848"
      ],
      "endereco":{
        "logradouro":"Rua Transport",
        "numero":"05",
        "cep":"46140",
        "apartamento":true,
        "complemento":"ap 102"
      }
    },

...

]
1 resposta

Olá, Mateus

Você pode ajustar um pouco a função que você já tem. No seu caso, a chave que você quer buscar é "apartamento", que está dentro de "endereco". Portanto, você precisará acessar "endereco" primeiro e, em seguida, "apartamento". Além disso, como "apartamento" é um valor booleano (true ou false), você não precisa usar o método "includes", mas sim comparar diretamente com o valor que você quer (neste caso, "true").

Aqui está um exemplo de como você poderia fazer isso:

function encontrar(lista, chave, valor) {
    return lista.find((item) => item['endereco'][chave] === valor);
}

const encontrado = encontrar(clientes, "apartamento", true);
console.log(encontrado);

Nesse exemplo, a função "encontrar" está buscando dentro de "endereco" a chave "apartamento" e comparando com "true". Se encontrar algum item que satisfaça essa condição, ele será retornado.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software