Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Encontre o check-in certo

O mural do PaceUp apresenta uma lista de check-ins. Antes de favoritar ou excluir um deles, a aplicação precisa localizar o item escolhido pelo seu identificador.

A mensagem de um check-in pode se repetir, e sua posição na lista pode mudar. Por isso, a busca deve usar o campo id.

Sua tarefa

Complete a função encontrarCheckin, que recebe:

O tipo e a assinatura da função já estão no código inicial:

type Checkin = {
  id: string;
  message: string;
  ownerId: string;
  favorite: boolean;
};

function encontrarCheckin(
  checkins: Checkin[],
  id: string,
): Checkin | null

A função deve:

Considere que os IDs são únicos dentro da lista. A comparação diferencia letras maiúsculas e minúsculas: "ci-A" e "ci-a" são identificadores diferentes.

Exemplos

Considere esta lista:

const checkins: Checkin[] = [
  {
    id: "ci-10",
    message: "Treino concluído!",
    ownerId: "user-1",
    favorite: false,
  },
  {
    id: "ci-20",
    message: "Treino concluído!",
    ownerId: "user-2",
    favorite: true,
  },
];

Os dois check-ins têm a mesma mensagem, mas são itens diferentes.

encontrarCheckin(checkins, "ci-20")
// Retorno esperado:
// {
//   id: "ci-20",
//   message: "Treino concluído!",
//   ownerId: "user-2",
//   favorite: true,
// }

encontrarCheckin(checkins, "ci-99")
// Retorno esperado: null

encontrarCheckin([], "ci-10")
// Retorno esperado: null

Técnica a praticar

Pratique a busca em um array de objetos, a comparação com === e o retorno Checkin | null. Você pode usar um laço ou o método find do array.

Se usar find, lembre-se de que ele retorna undefined quando não encontra um item. O contrato desta função exige null nesse caso.

Mantenha o tipo Checkin, o nome da função e seus parâmetros. Não utilize any ou console.log: o resultado deve ser devolvido com return.