Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

247
Vistas
¿Cómo obtengo la diferencia entre dos estados de matriz FIFO?

Tengo dos matrices que representan un estado similar a fifo, un estado antiguo y un estado nuevo. Necesito una función que encuentre los elementos recién agregados comparando la nueva matriz con la anterior. A continuación, 3 ejemplos de dos matrices donde 1 tiene elementos agregados al frente en comparación con el otro:

 // Input 1 const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr2 = ['a', 'b', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; // added 'a' and 'b' in front // Input 2 const arr3 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr4 = ['q', 'r', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; // added 'q' and 'r' in front // Input 3 const arr5 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr6 = ['a', 'b', 'q', 'a', 'b', 'c', 'd', 'e', 'f']; // added 'a' 'b' and 'q' in front // New Input 4 const arr7 = ['a', 'b', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; const arr8 = ['a', 'b', 'a', 'b', 'a', 'b', 'c', 'd', 'e']; // added 'a' and 'b' in front

Tenga en cuenta que la cantidad de elementos recién agregados se elimina de la parte posterior de la matriz. Aquí la funcionalidad deseada getItemsAdded(arr1, arr2) función:

 // Desired output for 'getItemsAdded()' function console.log(getItemsAdded(arr1, arr2)); // [ 'a', 'b' ] console.log(getItemsAdded(arr3, arr4)); // [ 'q', 'r' ] console.log(getItemsAdded(arr5, arr6)); // [ 'a', 'b', 'q' ] // New console.log(getItemsAdded(arr7, arr8)); // [ 'a', 'b' ]

Se siente como un problema tan simple, pero no puedo entenderlo... No pude resolverlo con las soluciones provistas aquí ¿Cómo obtener la diferencia entre dos matrices en JavaScript? , ya que es un problema diferente.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El código puede decir más palabras, entonces mi explicación tonta...

 // Input 1 const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr2 = ['a', 'b', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; // added 'a' and 'b' in front // Input 2 const arr3 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr4 = ['q', 'r', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; // added 'q' and 'r' in front // Input 3 const arr5 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']; const arr6 = ['a', 'b', 'q', 'a', 'b', 'c', 'd', 'e', 'f']; // added 'a' 'b' and 'q' in front const arr7 = ['a', 'b', 'a', 'b', 'c', 'd', 'e', 'f', 'g']; const arr8 = ['a', 'b', 'a', 'b', 'a', 'b', 'c', 'd', 'e']; // added 'a' and 'b' in front // Desired output for 'diff()' function console.log([...getItemsAdded(arr1, arr2)]); // [ 'a', 'b' ] console.log([...getItemsAdded(arr3, arr4)]); // [ 'q', 'r' ] console.log([...getItemsAdded(arr5, arr6)]); // [ 'a', 'b', 'q' ] console.log([...getItemsAdded(arr7, arr8)]); // [ 'a', 'b' ] function startsWith(arr1, arr2) { for (let i = 0; i < arr1.length; i++) if (arr1[i] != arr2[i]) return false return true } function* getItemsAdded(arr1, arr2) { while (!startsWith(arr2, arr1)) yield arr2.shift() }

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda