我使用每个循环并从 JSON 数据库中提取。目前,此循环随机化 JSON 并在 DIV 中输出随机项。我试图弄清楚如何添加到此并让它从类别中选择一个随机项目而不是所有项目。
下面是我的代码:
function similarProduct() {
$.each(json, function(i,item){
similarProduct = json[Math.floor(Math.random()*json.length)];
similarProduct += '<div>' + '<img src="' + similarProduct.imageURL + '">' + '<h3>' + similarProduct.itemName + '</h3>' + '</div>';
});
$('#productSimilar').append(similarProduct);
}
我的 JSON 格式如下所示:
[
{
"itemName":"Organic Tomatoes",
"imageURL":"",
"itemCategory":"Tomatoes"
},
{
"itemName":"Olive Oils",
"imageURL":"",
"itemCategory":"Olive Oil"
}
]
最佳答案
您需要首先使用类别中的项目创建一个临时数组categoryItems
,然后从该数组中随机选择一个项目。
function similarProduct() {
var categoryItems = [];
$.each(json, function(i, item){
if(item.itemCategory == 'Tomatoes') categoryItems.push(item);
});
$.each(json, function(i,item){
similarProduct = categoryItems[Math.floor(Math.random()*categoryItems.length)];
similarProduct += '<div>' + '<img src="' + similarProduct.imageURL + '">' + '<h3>' + similarProduct.itemName + '</h3>' + '</div>';
});
$('#productSimilar').append(similarProduct);
}
关于javascript - 尝试弄清楚如何按类别 JSON 对随机项目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41126095/