从data.json中提取随机数据并对其进行随机播放

时间:2014-09-25 08:48:09

标签: javascript jquery json mustache

我有一个json数据表,其中包含一些我在页面上显示的对象

{ "objects": [ ... ] }

模板:

$(function () {
  $.getJSON('data.json', function(data) {
    var template = $('#objectstpl').html(),
        html = Mustache.to_html(template, data);
    $('.thumb-area').html(html);
  }); //get data
}); //function

然而,我想要做的只是将有限数量的这些对象拉入我的数据变量,然后以随机方式显示它们。从理论上讲,这听起来很容易 - 获取数据,将部分数据放入变量并随机播放。

我尝试做这样的事情来改组我的数据集:

var randomizeEntries = data[Math.floor(Math.random()*data.length)];

但它没有将任何数据保存到变量中,我无法理解为什么。非常感谢任何提示。

1 个答案:

答案 0 :(得分:1)

你有一个JSON对象数据。在获取随机对象之前你需要将它转换为数组 -

var arr = [];

for(var i in object){
  arr.push(object[i]);
}

var randomizeEntries = arr[Math.floor( Math.floor(Math.random()*arr.length))];