У меня есть множество продаж различных продуктов в год, которые хранятся в месяцах для ряда клиентов.Я хочу иметь возможность группировать покупки клиентов в год в виде одного столбца.
var sales = [
["Jan", "Customer 1", "Product 1", 538]
["Feb", "Customer 1", "Product 1", 0]
["March", "Customer 1", "Product 1", 252]
["Apr", "Customer 1", "Product 1", 0]
["May", "Customer 1", "Product 1", 630]
["June", "Customer 1", "Product 1", 945]
["July", "Customer 1", "Product 1", 0]
["Aug", "Customer 1", "Product 1", 630]
["Sept", "Customer 1", "Product 1", 756]
["Oct", "Customer 1", "Product 1", 0]
["Nov", "Customer 1", "Product 1", 0]
["Dec", "Customer 1", "Product 1", 630]
["Jan", "Customer 1", "Product 2", 50]
["Feb", "Customer 1", "Product 2", 630]
...
]
Я попытался сгруппировать уникальные продукты, затем получить уникальных клиентов, а затем получить уникальные продукты, как показано ниже, ноЯ не могу понять, как двигаться дальше.
// Get a list of unique products
var products = sales.map(item => {
return item[2];
}).filter((val, index, self) => {
return self.indexOf(val) === index;
});
console.log(products);
// Ge a list of unique customers
var targets = sales.map(item => {
return item[1]
}).filter((val, index, self) => {
return self.indexOf(val) === index
});
console.log(targets);
Я хочу массив объектов, сгруппированных по клиентам и таким продуктам
[
{
"customer": "Customer 1",
"product": "Product 1",
"jan" 538,
"feb": 0,
"march": 252
...
},
{
"customer": "Customer 1",
"product": "Product 2",
"jan" 50,
"feb": 630,
...
}
]
Любые идеи?