我在这个插件中使用lastFM api。 https://github.com/fxb/javascript-last.fm-api
我有一个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)如何将这些数组合并为包含9个对象的1个数组 2)我可以随机化数组中的项吗?
答案 0 :(得分: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();
});