当元素过多时,我是每次随机取几张图片显示,这样每次都能展示不同的照片还挺有新鲜感的
/*
随机取数组中的几个数并返回新数组
* @Params list: 给的一个数组
* @Params num: 随机取的总个数
* */
export function getRandomList(list, num) {
let newList = []
while (num) {
// 取(0,list.length)之前的随机整数
let val = Math.floor(Math.random()*list.length)
// 如果新数组中没有这个元素就添加
if (!newList.includes(list[val])) {
newList.push(list[val])
num--
}
}
return newList
}
当数组不够指定长度时就可以通过下列函数填充以下数组,当然图片最好还是符合主题的好
/*
填充数组至指定长度
* @Params list: 给的一个数组
* @Params num: 数组要达到的长度
* */
export function fillList(list, num) {
while (list.length < num) {
list.push('/bg2.webp')
}
return list
}
其实这样做的主要原因还是用css写的轮播图中图片个数是固定的,扎心了。。。
Q.E.D.