2014-09-25 53 views
0

我有對象了一堆,我感到我的網頁上顯示一個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)]; 

但它不會將任何數據保存到變量,我不明白爲什麼。將不勝感激任何提示。

+0

如果數據是這樣的:'{「對象」:[...]} ',你不應該使用:'data.objects [Math.floor ...]'? – user41047 2014-09-25 09:00:17

回答

1

你有。你需要獲取隨機物品運到像以前那樣將其轉換爲數組JSON對象數據 -

var arr = []; 

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

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

你是絕對正確的,但是我怎樣才能將新的數組餵給小​​鬍子? – 2014-09-25 09:24:58

+0

好吧,所以可能我們可以讓randomizeEntries成爲像這樣的陣列的基礎--'var randomizeEntries = {}; randomizeEntries.someThing = arr [Math.floor(Math.floor(Math.random()* arr.length))];' – 2014-09-25 09:59:09