私はJSONオブジェクトを持っています。これは、次のような相互に共通のプロパティを持つ他のJSONオブジェクトの長いリストで構成されています。
var myData = {
"0291" : { "Firstname" : "Jeremy", "Surname" : "Dyson" },
"0398" : { "Firstnname" : "Billy", "Surname" : "Bunter" },
"6714" : { "Firstnname" : "Harry", "Surname" : "Peterson" },
"9080" : { "Firstnname" : "Barry", "secondname": "Joe", "Surname" : "Mainwaring"}
...
...
}
私はすでにhtmlテンプレートを作成しました。JSを使用して、data {}内のオブジェクトをランダムな順序で選択または反復(ランダム選択+ループ)したいので、訪問者ごとにその場でHTMLを入力できます。ランダムな部分は重要であるため、訪問者ごとに異なるデータを取得する可能性があります。
プレーンなJavaScriptまたはjQueryソリューションは、これがデプロイされているコンテキストで機能します。
編集:私が実装したソリューションは以下のとおりです。
1.すべてのキーを収集します。
var keyArray = Object.keys(myData);
2.シャッフル機能:
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
keyArray = shuffle(keyArray); // shuffle it!
3.ループして繰り返します。
for (var i = 0; i < keyArray.length; ++i) {
var current = data[keyArray[i]];
... // what you want to do each time.
}