Em JavaScript, os métodos filter e map são frequentemente usados para manipulação de arrays, enquanto o operador spread (...) pode ser utilizado para copiar, combinar ou transformar arrays e objetos.
Considere o seguinte código que faz uso desses conceitos.
const products = [
{ id: 1, name: 'Laptop', price: 1500, available: true },
{ id: 2, name: 'Phone', price: 800, available: false },
{ id: 3, name: 'Tablet', price: 600, available: true }
];
const availableProducts = products
.filter(product => product.available)
.map(product => ({ ...product, price: product.price * 0.9 }));
const finalProductList = [
...availableProducts,
{ id: 4, name: 'Monitor', price: 300, available: true }
];
console.log(finalProductList[1]);
Considerando o código acima, qual das alternativas a seguir descreve corretamente o que será impresso no console após a execução do código?