【发布时间】:2021-06-18 20:12:57
【问题描述】:
我有这个 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"}]';
我想获取唯一值并构建一个 HTML 无序列表结构,所以我做了这个:
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>
问题是我只得到唯一的类别值:
我想像这样包含每个类别的唯一子类别值:
我该如何解决?我想得到你的帮助。
【问题讨论】:
标签: javascript jquery json