各ループを使用してJSONデータベースから取得しています。現在、このループはJSONをランダム化し、DIV内のランダムな項目を出力します。私がこれにどのように追加して、それがすべてではなくカテゴリからランダムな項目を選択するかを理解しようとしています。カテゴリごとにランダムな項目をソートする方法を理解しようとしています。JSON
以下は私のコードです:
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"
}
]
あなたが達成しようとしていることを正確に説明し、最初にコレクションをルーピングする理由を説明してください。また、ローカル変数のように関数を扱っているようです。 –
出力をビルドする前に、JSON配列をソートするだけです。 refrenceについては、[カスタムオブジェクトの配列の並べ替え](http://stackoverflow.com/questions/10723798/sorting-array-of-custom-objects-in-javascript)を参照してください。 – bobjoe
@ChrisPickfordこのコードは、私が作成している製品ページから取得したものです。現在、ページにはアイテムが表示され、下部には同様のレシピdivがあります。すべてのページが動的に作成されるので、私はすべてをループし、各項目のカテゴリから同様の項目を表示しようとしています。 – Tom