【发布时间】:2021-03-18 21:17:32
【问题描述】:
目前我有一个数组,其中包含大量对象。目前有 21 个,尽管这可能随时增加或减少。
要遍历数组并生成所需的内容,我使用以下代码:
for (let i = 0; i < projects.length; i++) {
let imagesString = projects[i].images.reduce((acc,image,ind)=>{
if (ind==0) return acc;
return acc +'<a href="' + projects[i].imagelocation + image + '" data-fancybox="' + projects[i].fancybox + '" data-caption=" ' + projects[i].description + '"></a>'},"");
content += '<div class="galleryitem col-lg-4 col-md-4 col-sm-6 ' + projects[i].category + '"><a href="' + projects[i].imagelocation + projects[i].images[0] + '" data-fancybox="' + projects[i].fancybox + '" data-caption=" ' + projects[i].description + '"><div class="h_gallery_item"><div class="g_img_item"><i class="fas fa-expand expand"></i><img class="img-fluid" src="' + projects[i].imagelocation + projects[i].thumbnail + '" alt="' + projects[i].name + ' - ' + projects[i].subheading + '"></div><div class="g_item_text"><h4>' + projects[i].name + '</h4><p>' + projects[i].subheading + '</p></div></div></a>'+imagesString+'</div>';
}
在网络应用程序的不同部分,我想让它从这个数组中选择 3 个随机的非重复对象并通过循环运行来显示它们,但我需要我是 3 而不是 let i = 0; i < projects.length; i++来自projects.length 的随机非重复数字。
【问题讨论】:
-
随机播放
projects,然后从该随机数组中取出前三项。 -
嗨@CBroe 我以前没有使用过随机播放,你能告诉我如何做到这一点,或者链接我了解随机播放功能的工作原理吗?
-
在您选择的搜索引擎,甚至本网站顶部的搜索字段中输入“javascript array shuffle”,可以立即将您带到stackoverflow.com/questions/2450954/…。
-
@CBroe 让它与您的随机播放建议一起使用。我第一次使用它,不知道这是一个东西。以为我必须math.random,但不知道如何防止重复。谢谢。
标签: javascript arrays loops random