我目前正在使用骨干网组建一个简单的库存管理应用程序。我的数据库中有一个包含模型和数量的表;这是对象的strigify版本:
var invt =
[
{
“ID”:1,
“型号”:“佳能SX230”,
“数量”:10,
“价格”: “150.50”
},
{
“ID”:2,
“模特”:“佳能反叛T3i”,
“数量”:25,
“价格”: “450.50”,
},
{
“ID”:3,
“模特”:“佳能反叛T2”,
“数量”:10,
“价格”: “250.00”
},
{
“ID”:4,
“模特”:“佳能反叛T2i”,
“数量”:15,
“价格”: “275.00”
},
{
“ID”:5,
“型号”:“佳能SX230”,
“数量”:5,
“价格”: “125.00”
}]
如何根据模型过滤总和数量。使用相似模型创建一个总数量的新对象。
基本上结果是:
[{
“ID”:1,
“型号”:“佳能SX230”,
“数量”:15,
“价格”: “275.00”
},
{
“ID”:2,
“模特”:“佳能反叛T3i”,
“数量”:25,
“价格”: “450.50”
}]
等...
我一直在尝试使用以下循环:
var sum = {};
for (var i = 0; i < invt.length; i++) {
var record = invt[i];
sum.model = record.model + (sum.model);
};
答案 0 :(得分:0)
Select sum(quantity)
From yourtable
Group by model;
这应该这样做。
答案 1 :(得分:0)
由于你只使用了JS相关标签,我想你想做这个客户端。
你可以这样做:
var records = [
{
id: 1,
model: "A",
quantity: 6
}, {
id: 1,
model: "A",
quantity: 4
}, {
id: 1,
model: "B",
quantity: 3
}, {
id: 1,
model: "B",
quantity: 2
}
];
var sum = {};
for(var i = 0; i < records.length; i++) {
var record = records[i];
sum[record.model] = record.quantity + (sum[record.model] || 0);
}
document.body.innerHTML = JSON.stringify(sum);
将此对象转换为您想要的格式是非常简单的。