需求

随机不重复的显示一系列图片

分析

可使用Math.random(),其作用是返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。先获取到图片路径,将图片路径放入数组中,再随机从数组中读取n个元素放入新数组,页面只需遍历新数组生成img即可。

实现

实现代码
<template>
<div class="container">
<div class="container-div">
<img v-for="item in randomList" :key="item" :src="item" />
</div>
</div>
</template> <script>
export default {
components: {},
data() {
return {
imgList: [], //所有图片路径列表
randomList: [], //随机图片路径列表
};
},
mounted() {
this.getImgList();
},
methods: {
//获取所有图片列表
getImgList() {
let path = "";
for (let i = 1; i < 16; i++) {
path = "./img/randomList/" + i.toString() + ".jpg";
this.imgList.push(path);
path = "";
}
this.getRandomList(this.imgList, 5);
}, //从数组中随机获取一个元素
// var ele = arr[Math.floor(Math.random()*arr.length)]; //获取随机图片列表
getRandomList(arr, count) {
var shuffled = arr.slice(0),
i = arr.length,
min = i - count,
temp,
index;
while (i-- > min) {
index = Math.floor((i + 1) * Math.random());
temp = shuffled[index];
shuffled[index] = shuffled[i];
shuffled[i] = temp;
}
this.randomList = shuffled.slice(min);
},
},
};
</script>
<style scoped>
.container-div {
text-align: center;
margin: 30px 0px;
}
.container-div img {
width: 350px;
height: 200px;
}
</style>

值得注意的是代码中的路径是相对与public下index.html的路径,图片放在src中则访问不到。

页面:



刷新页面后再次随机获取:

随机读取数组中n个元素的更多相关文章

  1. ShuffleElements(随机打乱数组中的元素)

    给定一个数组,随机打乱数组中的元素,题意很简单直接上代码: package Array; import java.util.Arrays; import java.util.Collections; ...

  2. 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。

    //在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’:输出这个数组中的所有元素. char [][]y=new char [10][10 ...

  3. 在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行

    package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) ...

  4. (转载)PHP删除数组中的特定元素的代码

    (转载)http://www.jb51.net/article/30689.htm 我们知道,PHP没有提供专门删除一个特定数组元素的方法.但是可以通过unset()函数来完成这种要求比如下面的程序: ...

  5. [jstips]向数组中插入一个元素

    向现有数组中插入一个元素是经常会见到的一个需求.你可以: 使用push将元素插入到数组的尾部: 使用unshift将元素插入到数组的头部: 使用splice将元素插入到数组的中间: 上面那些方法都是常 ...

  6. 交换数组中两个元素的位置,元素包括key和value 一维数组

    /*author: yangyu@sina.cndescription: 交换数组中两个元素的位置,元素包括key和value,具体用法见下面的例子*/$arr = array(11=>'a', ...

  7. char数组中除去某个元素

    /* 本程序说明: char数组中除去某个元素(其实就是strcpy源码的变形) */ #include <iostream> #include <cassert> #incl ...

  8. php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)

    (一)php获取两个数组相同元素 array  array_intersect(array  $array1, array $array2, [, array $...]) array  array_ ...

  9. Java-Runoob-高级教程-实例-数组:14. Java 实例 – 在数组中查找指定元素

    ylbtech-Java-Runoob-高级教程-实例-数组:14. Java 实例 – 在数组中查找指定元素 1.返回顶部 1. Java 实例 - 在数组中查找指定元素  Java 实例 以下实例 ...

  10. Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un

    ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素  Java 实例 以下实例 ...

随机推荐

  1. 使用FModel提取游戏资产

    目录 前言 FModel简介 FModel安装 FModel使用 初次使用 资产预览 资产导出 附录 dumper Dumper-7生成usmap文件 向游戏中注入dll 前言 这篇文章仅记录我作为初 ...

  2. <el-table-column prop="item_no" label="料号"/>设置最小宽度

    可以通过min-width属性来设置el-table-column的最小宽度.以下是一个示例: <template> <el-table :data="tableData& ...

  3. [oeasy]python0074[专业选修]字节序_byte_order_struct_pack_大端序_小端序

    进制转化 回忆上次内容 上次 总结了 计算字符串值的函数 eval   四种进制的转化函数 bin oct int hex     函数名 前缀 目标字符串所用进制 bin 0b 二进制 oct 0o ...

  4. [oeasy]python0043_八进制_oct_octal_october_octave

    八进制(oct) 回忆上次内容 什么是 转义? 转义转义 转化含义 \ 是 转义字符 \n.\r是 转义序列 还有什么 转义序列 吗? \a是 响铃 \b 退格键 \t 水平制表符 tab键 \v.\ ...

  5. 回顾 JavaScript

    回顾 JavaScript 阅读前建议了解 ECMAScript 是什么? 不然你可能会疑惑下面内容 JavaScript 中掺杂的 ECMAScript 需要大体了解过 JavaScript 主要是 ...

  6. 开源照片管理神器 PhotoPrism 安装和使用教程

    如今我们每个人都积累了海量的照片和视频,做自媒体的 UP 主们积累的照片和视频数量可能更多.面对这么多的照片和视频,我们该如何管理呢? 之前我一直用谷歌相册,因为它有很多优势,比如无限空间,支持智能整 ...

  7. 使用with 还是 join

    用分解关联查询的方式查询具有以下优势:多次单表查询,让缓存的效率更高:许多应用程序可以方便地缓存单表查询对应的结果对象.对 MYSQL 的查询缓存来说,如果关联中的某个表发生了变化,那么就无法使用查询 ...

  8. pytest数据驱动 pandas

    pytest数据驱动 pandas 主要过程:用pandas读取excel里面的数据,然后进行百度查询,并断言 pf = pd.read_excel('data_py.xlsx', usecols=[ ...

  9. ClickHouse的向量处理能力

    ClickHouse的向量处理能力 引言 在过去,非结构化数据(如文本.图片.音频.视频)通常被认为难以在数据库中直接使用,因为这些数据类型的多样性和复杂性.然而,随着技术的发展,嵌入技术可以将非结构 ...

  10. Python异常处理try+except用法

    1.except是用来捕获程序异常的 异常代码如: ModuleNotFoundError(没有找到模块,安装提示的模块即可) AttributeError(没有访问属性) TypeError(类型错 ...