In the function get_items_by_merchant
change this
$.each(returnedData.data, function(index, item) {
if (returnedData.merchantName == merchant_name) // There is not merchantName in returnedData.
items.push(item);
});
to
$.each(returnedData.data, function(index, item) {
if (item.merchantName == merchant_name)
items.push(item);
});
Final Code with changes:-
var result_data = [];
var mn = [];
$.each(returnedData.data, function (index, value) {
if ($.inArray(value.merchantName, mn) == -1) {
mn.push(value.merchantName);
}
});
//all the merchants name stored in mn[]
function get_items_by_merchant(merchant_name) {
var items = new Array();
$.each(returnedData.data, function (index, item) {
if (item.merchantName == merchant_name) items.push(item);
});
return items;
}
var CB_items = [];
for (var i = 0; i < mn.length; i++) {
CB_items[i] = get_items_by_merchant(mn[i]);
$.each(CB_items[i], function (index, item) {
var avgpricve = parseFloat(item.avgPrice);
var numproducts = parseFloat(item.numProducts);
datajson = {
x: avgpricve,
y: numproducts
}
result_data.push(datajson)
});
console.log(result_data)