2013-04-22 23 views
0

我有,看起來像 擷取來自每個模型的隨機項目的集合,在骨幹

var categories = [ 
    { 
     name: 'Animals', 
     img: 'animals.jpg', 
     list: [{name: 'Cat', img: 'cat.jpg', state: 'hidden'}, {name: 'Dog', img: 'dog.jpg', state: 'hidden'}, {name: 'Zebra', img: 'zebra.jpg', state: 'hidden'}, {name: 'Rabbit', img: 'rabbit.jpg', state: 'hidden'}] 
    }, 
    { 
     name: 'Birds', 
     img: 'birds.jpg', 
     list: [{name: 'Eagle', img: 'eagle.jpg', state: 'hidden'}, {name: 'Owl', img: 'owl.jpg', state: 'hidden'}, {name: 'Parrot', img: 'parrot.jpg', state: 'hidden'}, {name: 'Swan', img: 'swan.jpg', state: 'hidden'}] 
    }, 
    { 
     name: 'Fruits', 
     img: 'fruits.jpg', 
     list: [{name: 'Apple', img: 'apple.jpg', state: 'hidden'},{name: 'Cherry', img: 'cherry.jpg', state: 'hidden'},{name: 'Banana', img: 'banana.jpg', state: 'hidden'}, {name: 'Strawberry', img: 'strawberry.jpg', state: 'hidden'}, {name: 'Mango', img: 'mango.jpg', state: 'hidden'}, {name: 'Orange', img: 'orange.jpg', state: 'hidden'}, {name: 'Pomegranate', img: 'pomegranate.jpg', state: 'hidden'}, {name: 'Jackfruit', img: 'jackfruit.jpg', state: 'hidden'}] 
    }, 
    { 
     name: 'Flowers', 
     img: 'flowers.jpg', 
     list: [{name: 'Rose', img: 'rose.jpg', state: 'hidden'}, {name: 'Tulip', img: 'tulip.jpg', state: 'hidden'}, {name: 'Hibiscus', img:'hibiscus.jpg', state: 'hidden'}, {name: 'Sunflower', img: 'sunflower.jpg', state: 'hidden'}] 
    } 
    ]; 

這裏我使用的類別,收集和每個類別的模型數據。我想要的是從該集合中獲取隨機的一組對象,這些對象位於每個模型的列表中。假如我點擊隨機,我可能會得到一個菠蘿蜜,玫瑰,蘋果,鷹,貓,鬱金香的清單。

不太確定我創建的結構是否正確。我應該爲每個類別的對象列表數組中的每個項目使用模型嗎?

+0

你問如何生成一個隨機數或如何使用該隨機數來索引到一個集合? – kinakuta 2013-04-22 05:39:52

+0

使用'Math.random'? – Loamhoof 2013-04-22 07:41:24

回答

0

這可能是許多因素起作用的情況。

如果模型是靜態的或動態的。前一種情況可能很容易。其中你需要知道你的集合中所有模型的id或cid的範圍。

靜態情況下

存儲所有的id在數組中。使用Math.random()選擇數組的隨機索引。

然後你可以使用這個

collection.get(arr[Math.random() * arr.length()]); 

認爲這可能是一個矯枉過正,但也很難說一個更好的方法不知道數據的來源和範圍。

+0

對不起,這個問題被錯誤地框了。我再次編輯它。 – kumarz 2013-04-22 11:03:04