У меня возникают проблемы с суммированием и группировкой моего объекта в JQuery, поскольку я хотел бы группировать по странам, а затем иметь общую сумму на основе подпериодов 4,5 и 6 для значений внутри col1. Col1, col2, col3 являются динамическими, но использование этого примера.Суммировать и группировать объект JSON в JQuery
Мне нужно получить общее количество по стране, которая хранится в переменной страны, общая сумма за каждый подпериод, хранящийся в переменной столбцов, и общий счет, хранящийся в переменной средних значений.
Вот мой код в jsfiddle:
Мой объект:
var g_jsonData =
[
{
"Country": "Spain",
"Year": "2000",
"Subperiod": "4",
"col1": "75",
"col2": "500",
"col3": "200"
},
{
"Country": "Spain",
"Year": "2001",
"Subperiod": "4",
"col1": "50",
"col2": "500",
"col3": "300"
},
{
"Country": "Spain",
"Year": "2002",
"Subperiod": "4",
"col1": "50",
"col2": "200",
"col3": "300"
},
{
"Country": "Spain",
"Year": "2003",
"Subperiod": "4",
"col1": "",
"col2": "200",
"col3": "300"
},
{
"Country": "Spain",
"Year": "2005",
"Subperiod": "5",
"col1": "125",
"col2": "500",
"col3": "300"
},
{
"Country": "Spain",
"Year": "2012",
"Subperiod": "6",
"col1": "100.75",
"col2": "500",
"col3": "200"
},
{
"Country": "Spain",
"Year": "2013",
"Subperiod": "6",
"col1": "200",
"col2": "500",
"col3": "300"
},
{
"Country": "France",
"Year": "2000",
"Subperiod": "4",
"col1": "100",
"col2": "100",
"col3": "300"
},
{
"Country": "France",
"Year": "2001",
"Subperiod": "4",
"col1": "100",
"col2": "100",
"col3": "300"
},
{
"Country": "France",
"Year": "2002",
"Subperiod": "4",
"col1": "100",
"col2": "200",
"col3": "300"
},
{
"Country": "France",
"Year": "2005",
"Subperiod": "5",
"col1": "100",
"col2": "200",
"col3": "300"
},
{
"Country": "France",
"Year": "2012",
"Subperiod": "6",
"col1": "100",
"col2": "100",
"col3": "300"
},
{
"Country": "France",
"Year": "2013",
"Subperiod": "6",
"col1": "100",
"col2": "100",
"col3": "300"
}];
Вот конечный результат, который я хотел бы получить, и это основано на подведении col1 за подпериода по стране.
countries =
{
"Spain":{
"4":175,
"5":125,
"6":300.75
},
"France":{
"4":300,
"5":100,
"6":200,
}
}
Всего за подпериода 4,5,6 должен показать, как:
columns =
{
"4":475,
"5":225,
"6":500.75
}
Я хотел бы также, чтобы получить общее количество для каждой страны, за подпериода:
averages =
{
"Spain":{
"4":3,
"5":1,
"6":2
},
"France":{
"4":3,
"5":1,
"6":2
}
}
Я хотел бы попытаться придерживаться моего кода как можно ближе. Спасибо, оцените помощь.
Как значения в 'должны averages' быть рассчитан? – Cerbrus
@Cerbrus Я буду использовать Испанию в качестве примера для подпериода 4 для col1, который имеет 75 + 50 + 50 + "". Таким образом, это общее количество 4. Однако, поскольку в Subperiod 4 Year 2003 имеет пустое значение, мы не учитываем его. Таким образом, общее количество равно 3. Имеет ли это смысл. –
@Cerbrus, возможно, средние значения не являются хорошим именем переменной, так как его, вероятно, следует назвать Count. –