gpt4 book ai didi

javascript - 如何显示不同的 json 流派名称(以及每种流派类型的总数)?

转载 作者:行者123 更新时间:2023-12-03 04:53:40 24 4
gpt4 key购买 nike

我的 JSON 数据结构如下...

{
"resp": [{
"genreID": 1,
"genre": "All TV Series",
"length": "3.5",
"name": "Passion",
"vid": 12345,

}, {
"genreID": 1,
"genre": "All TV Series",
"length": "1.9",
"name": "Galaxy",
"vid": 12346,


}, {
"genreID": 1,
"genre": "All TV Series",
"length": "1.4",
"name": "Sun",
"vid": 12347,


}, {
"genreID": 8,
"genre": "Thriller",
"length": "15.1",
"name": "Moonlight ",
"vid": 12348,


}, {
"genreID": 8,
"genre": "Thriller",
"length": "10.6",
"name": "Sunlight",
"vid": 12349,


}]
}

我想从上面的 json 数据创建以下超链接,一旦我们单击每个流派名称超链接,它应该只显示该流派的数据。现在我的代码使用下面的代码在列表中显示整个 json。

想要创建以下超链接:

All TV Series(3)
Thriller(2)

我如何使用 Javascript/jQuery 来完成这个任务?不幸的是,我无法编辑服务器发送给我的内容。

代码:

success: function(data) {

self.itemParts = data.resp;

for (var i = 0; i < self.itemParts.length; i++)
{


// create HTML code
var div = "<div class=\"image\">\n" +
"<a href=\"javascript:loadList('" + self.itemParts[i].vid+ "')\">\n" +
"<img src=\"http://somesite.com/images/l"+ self.itemParts[i].vid +".png\" alt=\"..\" />"+ self.itemParts[i].name+"\n" +
"</a>\n" +
"</div>\n";
// append it inside <body> tag.
$("#myDiv").append(div);

}


<div id='myDiv' style="display: visiable;">

</div>

最佳答案

假设返回的数据位于名为 data 的变量中

let data = {
"resp": [{
"genreID": 1,
"genre": "All TV Series",
"length": "3.5",
"name": "Passion",
"vid": 12345,

}, {
"genreID": 1,
"genre": "All TV Series",
"length": "1.9",
"name": "Galaxy",
"vid": 12346,


}, {
"genreID": 1,
"genre": "All TV Series",
"length": "1.4",
"name": "Sun",
"vid": 12347,


}, {
"genreID": 8,
"genre": "Thriller",
"length": "15.1",
"name": "Moonlight ",
"vid": 12348,


}, {
"genreID": 8,
"genre": "Thriller",
"length": "10.6",
"name": "Sunlight",
"vid": 12349,


}]
};

let model = {};
let values = data.resp;
values.forEach(function(value) {
//creating separate groups for each type
model[value.genre] = model[value.genre] || [];
model[value.genre].push(value);
});

然后进行另一次迭代以生成链接:

es6

for(let genre in model) {
$("#myDiv").append(`<a href="#">${genre}(${model[genre].length})</a>`);
}

es5

for(let genre in model) {
$("#myDiv").append('<a href="#">'+genre+'('+model[genre].length+')</a>');
}

关于javascript - 如何显示不同的 json 流派名称(以及每种流派类型的总数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42534111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com