首页 > 解决方案 > 带有对象的 Javascript 映射数组

问题描述

我对带有对象的 Javascript 映射数组有疑问。

购物车.json:

{ "products": [ { "id": "0.17912240212736852","qty": 1 } ], "totalPrice": 336 }

这是我的代码:

let cart = { products: [], totalPrice: 0 };

const a = cart.products.map(product => {
    product.id === id ? { ...product, qty: product.qty + 1 } : product;
});

// Undefined
console.log(a);

我想要的结果是在数量上加 1

即使我尝试执行以下操作:

const a = cart.products.map(product => {
    console.log(product);
});

// Undefined
console.log(a);

任何人都可以解释是什么问题?谢谢你。

标签: javascript

解决方案


你没有返回任何东西,尝试用 () 包装 {} 或直接写返回,

像这样:

let cart = { products: [], totalPrice: 0 };

const a = cart.products.map(product => {
    return product.id === id ? { ...product, qty: product.qty + 1 } : product;
});

// Undefined
console.log(a);

推荐阅读