我有一个 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.
}