js数组中随机取多个元素

js数组中随机取多个元素

//var rand = Math.floor(Math.random()*json2.length);
//document.write(‘<a href=”‘ +json2[rand].url+ ‘” target=”_blank”><img src=”‘+json2[rand].picurl+'” width=”300″ border=”0″ alt=”‘+json2[rand].title+'”></a>’);


以下示例代码:

<!--
var json2 = [{"url": "forum.php?mod=viewthread&tid=475956", "pic": "data/attachment/block/9a/9a7ab0ee6ba19f88c3d07ad808e92267.jpg", "title": "2013台湾大鹏湾国际风帆系列活动", "summary": "大鹏湾国家风景区系以成为国际级复合型水上休闲度假区为开发目标,经过10多年的时间,相关基础公共设施及湾域水质改善已渐具成效,区内主要交通联络道路及为配合帆船进出设计的开启式景观桥也同时於民国1 ...", "picwidth": "145", "picheight": "110"},{"url": "forum.php?mod=viewthread&tid=475941", "pic": "data/attachment/block/89/89eb0483924abd71edbae70b96993e3d.jpg", "title": "2013新北市泼水节─水漾‧幸福在新北", "summary": "2013新北市泼水节─「水漾‧幸福在新北」活动於4月份盛大展开,今年度新北市政府文化局更精 心规划多样系列活动:全民网路传福气 4月份起於泼水节活动专属网站提供泼水除厄互动小游戏,民众完成为朋友 ...", "picwidth": "145", "picheight": "110"},{"url": "forum.php?mod=viewthread&tid=213810", "pic": "data/attachment/block/4e/4e3dae5ba151850dd8faee82295e5c7a.jpg", "title": "带你自由自在疯台湾~深度体验台湾在地文化~", "summary": "我的地陪服务有个原则 就是感觉双方合的来您再让我服务 因为我其实是把这个当作交朋友增加生活经验的ㄧ种方式也想很真诚,开开心心的陪您渡过来台湾这段时间{:sos ...", "picwidth": "145", "picheight": "110"},{"url": "forum.php?mod=viewthread&tid=475913", "pic": "data/attachment/block/b4/b4ca9c219cb2df1f70512f51316e3200.jpg", "title": "宝岛·台湾--台北 拥有36个故事的朵儿咖啡馆", "summary": "位于台北的朵儿咖啡馆,是电影《第三十六个故事》的拍摄地,从这儿走到路口便可看到在不远处的台北101大厦。还记得电影里提出的那个问题么?"还记得你曾经有过的梦想吗?你愿意用什么,来交换你的梦想呢 ...", "picwidth": "145", "picheight": "110"},]
//var rand = Math.floor(Math.random()*json2.length);
//document.write('<a href="' +json2[rand].url+ '" target="_blank"><img src="'+json2[rand].picurl+'" width="300" border="0" alt="'+json2[rand].title+'"></a>');

getArrayItems(json2.length, 3);

//数组中随机返回num个不重复项
function getArrayItems(count, num) {
var arr = new Array();
var temp_array = new Array();
for (var i = 0; i< count; i++) {
temp_array.push(i);
}
var return_array = new Array();
for (var i = 0; i<num; i++) {
if (temp_array.length>0) {
var arrIndex = Math.floor(Math.random()*temp_array.length);
return_array[i] = temp_array[arrIndex];
//console.log(return_array[i]);
setArrayTpl(return_array[i]);
temp_array.splice(arrIndex, 1);
} else {
break;
}
}
return return_array;
}

function setArrayTpl(rand){
var html = '<dl>';
html += '<dd><a href="'+json2[rand].url+'"><img src="'+json2[rand].pic+'" width="'+json2[rand].picwidth+'" height="'+json2[rand].picheight+'" /></a></dd>';
html += '<dt><a href="'+json2[rand].url+'">'+json2[rand].title+'</a></dt>';
html += '<dd>'+json2[rand].summary+'</dd>';
html += '</dl>';
document.write(html);
}

//-->

Leave a Reply