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

66
Vistas
Ordene una matriz de objetos basada en otros valores de matriz

Digamos que tengo una variedad de productos:

 const Products = [ { id: 123, productName: "Portable Tabletop Game", quantity: 12 }, { id: 456, productName: "Gift Card", quantity: 23 }, { id: 789, productName: "Box of Chocolates", quantity: 8 }, { id: 012, productName: "Gift Box", quantity: 4 }, { id: 098, productName: "Balloons", quantity: 15 }, { id: 765, productName: "Music Box", quantity: 30 }];

y tengo otra matriz más pequeña donde almaceno el orden de los productos en mi página:

 const orderItems = [ { order: 1, productId: 021 }, { order: 2, productId: 765 }, { order: 3, productId: 123 }];

Y quiero mi matriz de Productos de tal manera que se ordenen como define la matriz orderItems, así:

 const Products = [ { id: 012, productName: "Gift Box", quantity: 4 }, { id: 765, productName: "Music Box", quantity: 30 }, { id: 123, productName: "Portable Tabletop Game", quantity: 12 }, { id: 456, productName: "Gift Card", quantity: 23 }, { id: 789, productName: "Box of Chocolates", quantity: 8 }, { id: 098, productName: "Balloons", quantity: 15 }];

y quiero que los productos que no tienen un artículo de pedido correspondiente orderItem al final de la matriz, ¿hay alguna forma de hacerlo?

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

0

Bueno, puedes hacerlo usando el método Array.filter() y Array.some() simplemente. El método Array.filter() devolverá una matriz de los productos que coinciden con el artículo en orderItems, mientras que el método Array.some() simplemente verificará o hará coincidir si el elemento existe.

 const Products = [ { id: 123, productName: "Portable Tabletop Game", quantity: 12 }, { id: 456, productName: "Gift Card", quantity: 23 }, { id: 789, productName: "Box of Chocolates", quantity: 8 }, { id: 012, productName: "Gift Box", quantity: 4 }, { id: 098, productName: "Balloons", quantity: 15 }, { id: 765, productName: "Music Box", quantity: 30 }];const Products = [ { id: 123, productName: "Portable Tabletop Game", quantity: 12 }, { id: 456, productName: "Gift Card", quantity: 23 }, { id: 789, productName: "Box of Chocolates", quantity: 8 }, { id: 012, productName: "Gift Box", quantity: 4 }, { id: 098, productName: "Balloons", quantity: 15 }, { id: 765, productName: "Music Box", quantity: 30 }]; const orderItems = [ { order: 1, productId: 012}, { order: 2, productId: 765 }, { order: 3, productId: 123 }]; let OrderItem = []; OrderItem = Products.filter((item,key)=>{ return orderItems[key] && orderItems[key]['productId'] && Products.some((ele)=> ele.id === orderItems[key]['productId']) console.log(OrderItem) })
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