Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
Faltan propiedades para el tipo (mecanografiado)

En el siguiente:

 @Mutation remove_bought_products(productsToBeRemoved: Array<I.Product>) { const tmpProductsInVendingMachine: Array<I.Product> = Object.values(this.productsInVendingMachine); const reducedProductsInVendingMachine: Array<I.Product> = tmpProductsInVendingMachine.reduce((tmpProductsInVendingMachine, { id, ...rest }) => ({ ...tmpProductsInVendingMachine, ...{ [id]: { id, ...rest } } }), {}); productsToBeRemoved.forEach(({ id }) => reducedProductsInVendingMachine[id].productQty--); ...

da:

 TS2740: Type '{}' is missing the following properties from type 'Product[]': length, pop, push, concat, and 28 more. 250 | 251 | const tmpProductsInVendingMachine: Array<I.Product> = Object.values(this.productsInVendingMachine); > 252 | const reducedProductsInVendingMachine: Array<I.Product> = | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 253 | tmpProductsInVendingMachine.reduce((tmpProductsInVendingMachine, { id, ...rest }) => ({ ...tmpProductsInVendingMachine, ...{ [id]: { id, ...rest } } }), {}); 254 | productsToBeRemoved.forEach(({ id }) => reducedProductsInVendingMachine[id].productQty--);

¿Qué tipo devuelve el reductor?

Los productos son objetos que necesitan ser indexados sobre su id; p.ej

 [{ id: 1, productName: "coke", productPrice: 2, productQty: 20 }, ... ]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

reducedProductsInVendingMachine no es una Array , es un Object .

Una posibilidad es convertir {} al tipo correcto en el parámetro de inicialización de Array.prototype.reduce() :

 const reducedProductsInVendingMachine = tmpProductsInVendingMachine.reduce( (tmpProductsInVendingMachine, { id, ...rest }) => ({ ...tmpProductsInVendingMachine, ...{ [id]: { id, ...rest } } }), {} as { [key: I.Product['id']]: I.Product } );

Observe cómo se compila la implementación y el tipo de variable reducedProductsInVendingMachine se infiere correctamente a { [key: I.Product['id']]: I.Product } (con I.Product['id'] resuelto como sea)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda