javascript - 带有对象的 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);
任何人都可以解释是什么问题?谢谢你。
解决方案
你没有返回任何东西,尝试用 () 包装 {} 或直接写返回,
像这样:
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);
推荐阅读
- jquery - Laravel 8 从数据库中查询 json 数据
- c# - .NET Core API 从 WSDL 动态获取 Web Service 详细信息并调用 SOAP Web Service
- angular - Angular TestBed 父服务提供者未定义
- java - 将 Instant 序列化和反序列化为 `yyyy-MM-dd`
- node.js - Vscode 调试器 - 通过 pm2 重新启动进程时自动附加
- json - Vertx 使用 RouterBuilder 禁用 openApi 端点的 JSON 模式验证
- python - 将大数据批量索引到 Elasticsearch 时出现 OutOfMemoryError
- node.js - 升级到 Angular 12 ng 后,服务在生成浏览器应用程序包时冻结
- amazon-web-services - 如何将数据加载到远程 Neo4j AWS 实例中?
- spring - Spring Boot JPA 与多个相同的数据库通信