У меня есть json as, и я пытаюсь сгруппировать его. Я пытаюсь сделать это с помощью javascript. В идеале я хотел бы объединить JSON и просто присвоить номер каждой группе, чтобы я мог ее пропустить. Моя конечная цель - иметь функцию, чтобы я мог выбирать, к какому ключу нужно группировать.как я могу группировать данные json вместе с javascript
Я попытался использовать функцию, но не имел успеха. Я не уверен, куда идти отсюда.
var groupBy = function(array, predicate) {
var grouped = {};
for(var i = 0; i < array.length; i++) {
var groupKey = predicate(array[i]);
if (typeof(grouped[groupKey]) === "undefined")
grouped[groupKey] = [];
grouped[groupKey].push(array[i]);
}
return grouped;
}
var groupData = groupBy(data, function (obj) {
console.log(obj);
return obj.category;
});
Мой JSON является
{
"merchantcontract":"My Angel Dream Day Care Center 1 10137.01",
"smi_transactiondate":"\/Date(1332831600000)\/",
"smi_glamount2":5.8700,
"smi_transactionclass":180870001,
"smi_transactionclassname":"Residual Agent Commission",
"smi_contractprodcutidname":"Traditional",
"smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
"smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
},
{
"merchantcontract":"My Angel Dream Day Care Center 1 10137.01",
"smi_transactiondate":"\/Date(1331622000000)\/",
"smi_glamount2":4.5792,
"smi_transactionclass":180870001,
"smi_transactionclassname":"Residual Agent Commission",
"smi_contractprodcutidname":"Traditional",
"smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
"smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
},
{
"merchantcontract":"Eds Overhead Doors 10150.01",
"smi_transactiondate":"\/Date(1333695600000)\/",
"smi_glamount2":11.9300,
"smi_transactionclass":180870001,
"smi_transactionclassname":"Residual Agent Commission",
"smi_contractprodcutidname":"Traditional",
"smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
"smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
},
Что мне нужно для все же коммерсанта контракт будет группой, и все остаточное быть сгруппирован в тех, так что я могу сложить glamount2
-My Angel Dream Day Care Center 1 10137.01
--Residual //This could be anything
----total of glamount2 in the residual of my angle
--foo
----total of glamount2 in the foo of my angle
Этот вызывает смущение. Какой результат вы получаете от своей существующей функции и что с ней не так? – Hemlock
Я внес изменения в свой пост, чтобы лучше объяснить. – Tom
@Tom: Вам действительно нужно «перегруппировать» ваш JSON, чтобы зациклиться на них и получить «glamount2»? Предполагая, что JSON содержится внутри массива, 'glamount2' должен быть уже доступен вам. –