• 1000
var data = [
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Vins', 'purchase_amount': 27 },
{ 'name': 'Jan', 'purchase_amount': 38 },
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Carl', 'purchase_amount': 25 },
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
{
'product':'ropa varon',
'count_buyer':0,
'buyers':[]
}
];
сначала я хочу отфильтровать объекты, которые у них есть в их массиве покупателей.
[
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Vins', 'purchase_amount': 27 },
{ 'name': 'Jan', 'purchase_amount': 38 },
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Carl', 'purchase_amount': 25 },
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
]
затем отфильтровать максимальное количество покупателей, чьим условием является максимальное количество покупок
[
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
]
это мой код
var data = [
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Vins', 'purchase_amount': 27 },
{ 'name': 'Jan', 'purchase_amount': 38 },
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Carl', 'purchase_amount': 25 },
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
{
'product':'ropa varon',
'count_buyer':0,
'buyers':[]
}
];
var filter0 = data.filter(count=> count.count_buyer > 0 )
var max = filter0.filter(buye => buye.buyers.reduce(function (prev, current) {
return (prev.purchase_amount > current.purchase_amount) ? prev : current
}));
console.log(max)
но результат такой
[
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Vins', 'purchase_amount': 27 },
{ 'name': 'Jan', 'purchase_amount': 38 },
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Carl', 'purchase_amount': 25 },
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
]
Как я могу получить этот результат?
[
{
'product':'laptop',
'count_buyer':3,
'buyers':[
{ 'name': 'Alex', 'purchase_amount': 80 },
]
},
{
'product':'televisor',
'count_buyer':2,
'buyers':[
{ 'name': 'Digi', 'purchase_amount': 40 }
]
},
]