2013-11-21 44 views
0

我正在使用帶有此插件的lastFM api。 https://github.com/fxb/javascript-last.fm-api將3個對象組合成一個並隨機化

我有一個for循環,基於lastfm用戶數組調用「makeList」函數3次。

var makeList = function(num) { 
    // query using last fm api 
    // spits out an array of 3 objects 
} 

for (var i = 0; i < 3; i ++){ 
    makeList(i); 
} 

我的問題: 1)我如何鞏固這些陣列爲1個陣列9個物體 2)我可以隨機數組中的項目?

From console.log

+2

[的毗連](http://www.w3schools.com/jsref/jsref_concat_array.asp)和[隨機化(http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle -a-javascript-array) – NaNpx

+1

@NaNpx你應該把它放在答案中。 – eliot

回答

1

您可以使用array.concat你的陣列組合,和一個自定義sort功能來隨機數組中的項目的順序。

var arr1 = [ 
    { name: 'Alan' }, 
    { name: 'Barney' }, 
    { name: 'Cassius' } 
]; 

var arr2 = [ 
    { name: 'Derek' }, 
    { name: 'Eric' }, 
    { name: 'Fred' } 
]; 

var arr3 = [ 
    { name: 'Graham' }, 
    { name: 'Howard' }, 
    { name: 'Isaac' } 
]; 

// Now I am one big array 
var bigArray = arr1.concat(arr2, arr3); 

// Now my member objects are randomized 
bigArray.sort(function() { 
    return 0.5 - Math.random(); 
}); 
相關問題