javascript - 删除对象数组 javascript/react-native 中的两个重复字段之一
问题描述
我有一个返回名称的对象数组:字符串和数量:数字,问题是我在数组中有许多对象具有相同的名称字段值但数量值不同,所以我想显示每个对象的所有数量的总和重名。我的代码在这里:
const productsArray = [{ name: "lamp", quantity: 10 }, {name: "glass", quantity: 4}, {name:"lamp", quantity: 5}]
灯是重复的,但它有不同的数量值,所以我想将这些数量值合并为一个总量并只显示一次名称。
期望的结果
产品名称:灯产品数量:15
产品名称:玻璃产品数量:4
请帮忙
解决方案
这是一种选择:-
const productsArray = [{ name: "lamp", quantity: 10 }, {name: "glass", quantity: 4}, {name:"lamp", quantity: 5}]
var output = [];
productsArray.forEach(function(item) {
var existing = output.filter(function(v, i) {
return v.name == item.name;
});
if (existing.length) {
var existingIndex = output.indexOf(existing[0]);
output[existingIndex].quantity += item.quantity;
} else {
output.push(item);
}
});
console.dir(output);
推荐阅读
- laravel-5 - SQLSTATE [HY000] [2002] 连接被拒绝(SQL:插入用户(姓名,电子邮件)值(mahmud,mahmudul@gamil.com))
- ios - 未能更改测试广告的尺寸
- php - PHP RSS 脚本验证问题
- docker - 我无法在 Windows 7 上运行 Docker ToolBox
- python - 数字信封例程:EVP_DecryptFinal_ex:bad decrypt
- git - Issues using bitbucket git repository source for downloading a module over SSH
- java - 无法使用 ResultSet 创建 ArrayList
- javascript - Axios 在选择时被触发
- excel - 组合框中的动态范围错误
- xamarin - 如何将 SwapChainPanel 添加到 xamarin 表单