I have this JSON:
var dataM = '[{"category":"cat01","subcategory":"subcat01"},{"category":"cat01","subcategory":"subcat01"},{"category":"cat01","subcategory":"subcat03"}, {"category":"cat01","subcategory":"subcat03"},{"category":"cat01","subcategory":"subcat02"},{"category":"cat02","subcategory":"subcat04"},{"category":"cat02","subcategory":"subcat04"},{"category":"cat02","subcategory":"subcat02"},{"category":"cat01","subcategory":"subcat05"}]';
I want to get unique values and build an HTML unordered list structure , so I make this:
var dataM = '[{"category":"cat01","subcategory":"subcat01"},{"category":"cat01","subcategory":"subcat01"},{"category":"cat01","subcategory":"subcat03"}, {"category":"cat01","subcategory":"subcat03"},{"category":"cat01","subcategory":"subcat02"},{"category":"cat02","subcategory":"subcat04"},{"category":"cat02","subcategory":"subcat04"},{"category":"cat02","subcategory":"subcat02"},{"category":"cat01","subcategory":"subcat05"}]';
var dataJSON = JSON.parse(dataM);
    var arrayM = []; var html='';
    for(i = 0; i< dataJSON.length; i++){    
        if(arrayM.indexOf(dataJSON[i].category) === -1){
            arrayM.push(dataJSON[i].category);        
        }        
    }
    html += '<ul>';
    for(i = 0; i< arrayM.length; i++){
        html += '<li>'+arrayM[i]+'</li>';
    }
    html += '</ul>';
$("#list").html(html);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="list"></div>The problem is I only get the unique category values:
And I want to include the unique subcategory values of each category like this:
How can I fix it? I'd like to receive your help.


 
     
    