【发布时间】:2017-11-13 18:49:33
【问题描述】:
我正在尝试使用 jquery/javascript 从某个网站远程获取一些 HTML dom 元素。这些元素在数组中并且是唯一的,但是当我尝试使用 math.random() * my array.length 打印它们时,我看到了重复项。我希望 imgIdx 是独一无二的。
所以为了帮助我学习,有人可以帮我确定我在这里缺少什么吗?
myarray = [
{ thumb : "http://url.com/img1.jpg", big : "http://url.com/img51.jpg" },
{ thumb : "http://url.com/img61.jpg", big : "http://url.com/img671.jpg" },
{ thumb : "http://url.com/img666.jpg", big : "http://url.com/img371.jpg" },]
function addSomeImages(limit) {
for (var i = lastIdx; i < lastIdx + limit; i++) {
var imgIdx = Math.floor(Math.random() * myarray.length);
$('#endless-gallery').append('<a data-fancybox="gallery" href="' + myarray[imgIdx].big + '">' + '<img class=photo src="' + myarray[imgIdx].thumb + '' +
'" />' +
'</a>');
}
【问题讨论】:
-
你应该看看How to Ask并编辑你的问题
-
你的阵列有多大?
-
随机排序数组....stackoverflow.com/questions/2450954/…
-
shuffle你的数组
-
@BülentEvren,好的,我想你可以使用这个snippet,那么。
标签: javascript arrays unique