Created
November 9, 2016 10:21
-
-
Save hynra/58941dfc2e1d44a4f77636faae6b8d14 to your computer and use it in GitHub Desktop.
Grouping product berdasarkan kategori
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var _jsn = [{ | |
"nominal": "0", | |
"price": "0", | |
"product_code": "BPJSKS", | |
"product_name": "BPJS Kesehatan", | |
"product_category": "BPJS" | |
}, { | |
"nominal": "5000", | |
"price": "5050", | |
"product_code": "SN5", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "10000", | |
"price": "10050", | |
"product_code": "SN10", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "20000", | |
"price": "20050", | |
"product_code": "SN20", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "25000", | |
"price": "25050", | |
"product_code": "SN25", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "50000", | |
"price": "50050", | |
"product_code": "SN50", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "100000", | |
"price": "100050", | |
"product_code": "SN100", | |
"product_name": "Telkomsel Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "5000", | |
"price": "5050", | |
"product_code": "ISN5", | |
"product_name": "Indosat Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "10000", | |
"price": "10050", | |
"product_code": "ISN10", | |
"product_name": "Indosat Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "25000", | |
"price": "25050", | |
"product_code": "ISN25", | |
"product_name": "Indosat Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "50000", | |
"price": "50050", | |
"product_code": "ISN50", | |
"product_name": "Indosat Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "100000", | |
"price": "100050", | |
"product_code": "ISN100", | |
"product_name": "Indosat Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "5000", | |
"price": "5050", | |
"product_code": "X5", | |
"product_name": "XL Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "10000", | |
"price": "10050", | |
"product_code": "X10", | |
"product_name": "XL Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "25000", | |
"price": "25050", | |
"product_code": "X25", | |
"product_name": "XL Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "50000", | |
"price": "50050", | |
"product_code": "X50", | |
"product_name": "XL Nasional", | |
"product_category": "PULSA" | |
}, { | |
"nominal": "100000", | |
"price": "100050", | |
"product_code": "X100", | |
"product_name": "XL Nasional", | |
"product_category": "PULSA" | |
}]; | |
console.log(_jsn.length); | |
//------------- get prod category | |
var prods = []; | |
var prodToCompare = ""; | |
for (var i =0; i < _jsn.length; i++){ | |
var firstCat = _jsn[i].product_category; | |
if(firstCat != prodToCompare){ | |
prods.push(firstCat); | |
prodToCompare = firstCat; | |
} | |
} | |
console.log(prods); | |
// add to main cat | |
for(var i = 0; i < prods.length; i++){ | |
var rootProd = {}; | |
console.log("check "+prods[i]); | |
rootProd.category = prods[i]; | |
var arrProd = []; | |
for(var j = 0; j < _jsn.length; j++){ | |
if(_jsn[j].product_category == prods[i]){ | |
arrProd.push(_jsn[j]); | |
rootProd.detail = arrProd; | |
} | |
} | |
prods[i] = rootProd; | |
} | |
console.log(JSON.stringify(prods)); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment