interview-challenges icon indicating copy to clipboard operation
interview-challenges copied to clipboard

arreglo test para comprobar los valores del array

Open carlosfernandezcabrero opened this issue 2 years ago • 0 comments

Buenas 👋,

Propongo cambiar el método para checkear si los arrays son iguales en el ejercicio “elementos-pares”. Según tengo entendido el método de vitest toBe es para la comparación de tipos primitivos o los valores de tipos no primitivos. Para comparar los valores internos de tipos de datos no primitivos, según la documentación, hay que utilizar toEqual.

Para hacer la prueba de lo que comento os dejo mi solución y el mensaje que me sale. Solución:

export default function filtrarPares(array: unknown[]): unknown[] {
  array.sort();
  let matches = 0;
  const result = [] as unknown[];

  for (let i = 0; i < array.length - 1; i++) {
    const current = array[i];
    const next = array[i + 1];

    matches++;

    if (current !== next) {
      if (matches % 2 === 0) result.push(current);
      matches = 0;
    }
  }

  return result;
}

Mensaje que me devuelve:

AssertionError: expected [ 1, 4 ] to be [ 1, 4 ] // Object.is equality

Adjunto el link de la documentación donde comenta lo que digo. https://vitest.dev/api/expect.html#tobe

Un saludo, muchas gracias

carlosfernandezcabrero avatar Sep 30 '23 14:09 carlosfernandezcabrero