阅读送书抽奖?玩转抽奖游戏,js-tool-big-box工具库新上抽奖功能

先讨论一个问题,你做软件工作是为了什么?从高中选专业,就喜欢上了软件开发?还是当初毕业不知道干啥,不喜欢自己的专业,投入软件开发的怀抱?还是干着干着别的,突然觉得互联网行业真不赖,然后学了学,开始了软件开发生涯?

目录

1 你真的很喜欢软件开发工作吗?

2  我开发的一个好玩的JS工具

3 功能介绍

4 工具使用

4.1 引入工具包

4.2 定义备选人员名单 

4.3  调用抽奖方法

4.4 使用方法总结


1 你真的很喜欢软件开发工作吗?

那么你喜欢自己的职业吗?热爱吗?哈哈,是不是灵魂拷问。思考这个问题很简单,试想一下,你上班时间除了开发,摸鱼时间在干什么?下了班,你在做什么?遇到外面的事物,你是否会用互联网思维,或者用你的软件思维去思考这件事呢?如果你觉得自己有钱有闲了,你会不会通过自己的本职工作去出发,展开一些事情呢?还是另辟蹊径,觉得自己开个店更合适,完全抛却了自己的本职软件行当?思考清了这些事情,你应该就明白,自己是不是真的很喜欢自己的软件开发工作了。

2  我开发的一个好玩的JS工具

先抛开上面那个灵魂拷问,我发现大家都在CSDN上阅读送书,这个活动挺好的,既使得自己的博客撰写更有动力,又帮助图书作者做了推广,而且帮助自己的粉丝们赢得了福利,最重要的是,大家都开心了。人或者嘛,开心最重要哇!对吧。武大郎如果当初可以好好的和西门庆聊一聊,哪会有那么多事呢。

等活动结束了,大家会给粉丝送书,如果这个时候,可以有个抽奖工具,就像每周一三六摇奖那样的工具,那该有多完美。我曾经好多次,盯着屏幕上的摇奖直播视频,看啊看,然后关掉视频,我不禁感叹,这个摇奖工具真是差劲,摇不到我的心坎上呢咋就。

所以,看见大家送书,我就心头一热,在 js-tool-big-box 这个npm工具包上,新增了一个抽取幸运读者的功能。

3 功能介绍

  1. 我们先获取备选用户名单,这里可以简单做一个字符串,或者数组数据,把用户名单加进去;
  2. 这样就可以获取备选名单人数,有了人数,就可以从人数中得到一个随机值,取出这个随机值;
  3. 如果只是从中获取1个幸运读者,就这结束了;
  4. 如果需要获取多个,那么就需要把这个幸运读者从数组中删除,继续寻找剩余读者中的随机值;
  5. 这样遍历几遍,就取到了需要个数的幸运读者;

4 工具使用

4.1 引入工具包

执行安装命令

npm i js-tool-big-box

项目中引入,对于抽奖功能,工具中提供了 dataBox 的对象,可供调用

import { dataBox } from 'js-tool-big-box';

4.2 定义备选人员名单 

例如我们设定一个40人的备选名单,然后为了界面好看,我们还添加了幸运读者的变量,下面的代码一看就是vue写法,对吧

data () {return {people: '张三0, 张三1, 张三2, 张三3, 张三4, 张三5, 张三6, 张三7, 张三8, 张三9, 张三10, 张三11, 张三12, 张三13, 张三14, 张三15, 张三16, 张三17, 张三18, 张三19, 张三20, 张三21, 张三22, 张三23, 张三24, 张三25, 张三26, 张三27, 张三27, 张三29, 张三30, 张三31, 张三32, 张三33, 张三34, 张三35, 张三36, 张三37, 张三38, 张三39, 张三40',luckPeople: [],}},

4.3  调用抽奖方法

抽奖功能方法名是luck,这是属于dataBox对象下的一个方法,

this.luckPeople = dataBox.luck(peopleData, 3);

4.4 使用方法总结

方法名返回值入参
luck根据第二个入参返回幸运获奖者

第一个参数必填,表示所有备选用户名单,传入的是一个数组;

第二个参数必填,表示需要从中选取几个幸运者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress中插入视频的两种方法详解

最近我在建设WordPress网站的时候需要上传视频,我使用的是Hostease的主机安装的WordPress,随后在咨询了他们的技术支持后获得了一些解决方法。下面将介绍WordPress中插入视频的两种方法:本地上传和外部引用。 本地上传视频 使用WordPress的古…

阿里云短信提示被攻击怎么解决!!

你是否收到过这样的短信,【阿里云】尊敬的用户:您的IP: 实例名称: 受到攻击流量已超过云盾DDoS基础防护的带宽峰值,服务器的所有访问已被屏蔽,如果35分钟后攻击停止将自动解除否则会延期解除。详情请登录云盾控制台DDo…

对比state和props的区别

State和Props在React中都是用于组件间数据传递的重要概念,但它们之间存在一些显著的区别。 定义与用途: Props:Props是组件的输入属性,用于从父组件向子组件传递数据。它们是只读的,并且子组件不能修改传递给它的props…

华为ensp中路由器IPSec VPN原理及配置命令(超详解)

作者主页:点击! ENSP专栏:点击! 创作时间:2024年5月13日2点11分 虚拟专用网络(VPN)是一种通过公用网络建立安全连接的技术。它可以使您的设备看起来像是连接到另一个网络,例如公司…

618买什么划算?618买啥好?618数码好物推荐,必买清单大放送!

随着一年一度的618购物狂欢节的临近,作为数码领域的资深爱好者,我感到有责任为大家推荐精心挑选的数码精品。无论你是追逐科技尖端的探索者,还是希望通过智能装备提升生活品质的时尚人士,这里的每一款产品都能与你的心灵产生共鸣。…

如何3分钟快速训练一个属于自己的(暴躁老哥、猫娘)AI大模型?(弱智吧经典问题为例)

首先我们进入谷歌Gemini:Gemini - Google DeepMind 然后我们进入官网看见左边的几个选项 选择Create new prompt创建新的提示 选择结构化提示 点击action可以增加列,也就是设置更多回答或者选项 那么那个温度(Temperature)是什么…

笨方法学习python(七)-输入

输入 一般软件做的事情主要就是下面几条: 接受人的输入。改变输入。打印出改变了的输入。 前面几节都是print输出,这节了解一下输入input;在python2中使用的是raw_input,python3就只是input。 print ("How old are you?&…

【Python贪吃蛇】:编码技巧与游戏设计的完美结合

文章目录 🔥一、运行效果💥二、游戏教程✈1. 导入模块❤️2. 初始化游戏元素☔3. 改变蛇移动的方向👊4. 绘制方块🚀5. 检查蛇头是否在游戏区域内🌈6. 定义蛇的移动函数🎬7. 绑定键盘事件 ⭐三、完整代码 &a…

数据库设计基础知识

数据库优化技术 集中式数据库优化技术 分布式数据库优化技术

B站视频怎么下载到手机本地

在这个数字化时代,B站已经成为了许多人追逐创意和乐趣的热门去处。面对网络环境的不稳定和数据流量的限制,有时想要在手机上随时随地观看喜爱的B站视频并不容易。今天,我将分享一些简单而又高效的方法,帮助你轻松地将B站视频下载到…

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (一)

基于LlaMA 3 LangGraph 在windows本地部署大模型 (一) RAG 是未来人工智能应用的基石。大家并不是在寻求仅仅产生无意义反应的人工智能。而目标是人工智能能够从特定文档集中检索答案,理解查询的上下文,指导自己搜索其嵌入内容或…

探索 SwiftUI:全屏覆盖的 DragGesture

使用 SwiftUI 时,您熟悉sheet(isPresented:onDismiss:content:)用于呈现视图的修饰符。这是一种以模态样式叠加显示内容的便捷方法,并且带有内置的滑动手势来关闭视图。 但是如果你想用 afullScreenCover(isPresented:onDismiss:content:)代替怎么办&am…

APScheduler定时器使用【重写SQLAlchemyJobStore版】:django中使用apscheduler,使用mysql做存储后端

一、环境配置 python3.8.10 包: APScheduler3.10.4 Django3.2.7 djangorestframework3.15.1 SQLAlchemy2.0.29 PyMySQL1.1.0 项目目录情况 gs_scheduler 应用 commands : 主要用来自定义命令,python manage.py crontab schedulers&#…

OpenHarmony开发案例【大合集】

OpenHarmony Codelabs 概要简介 为帮助开发者快速熟悉OpenHarmony的能力以及相关的应用开发流程,我们提供了一系列的基于趣味场景的应用示例,即Codelabs,开发者可以根据我们的文档一步步的学习和完成简单项目的开发。 目录 优秀案例 一次开…

小米/红米手机刷机错误:Missmatching image and device

报错: Missmatching image and device。 场景: 该解决方法只适用于手机是通过EMT解锁的。 解决方法: 打开刷机脚本,并注释检测脚本: 刷机脚本根据不同的刷机方式,选择编辑不同的脚本,例如&am…

nginx关于并发的总结

一、环境 1.nginx版本 [rootnode4 ~]# nginx -V nginx version: nginx/1.18.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) configure arguments: --prefix/usr/local/nginx2.操作系统 centos73.硬件配置 [rootnode2 ~]# cat /proc/cpuinfo |grep process proc…

2024年最顶尖的AI驱动SEO工具|TodayAI

在当今数字营销的竞争环境中,获得搜索引擎的高排名至关重要,因为它直接关联到网站的有机流量和品牌的在线影响力。搜索引擎优化(SEO)是提高网站排名的关键方式,通过优化网站内容和结构来符合搜索引擎的算法要求。然而&…

win server服务器 关闭危险端口 135,137,138,139,445的方法

通过防火墙来控制 打开控制面板 选择检查防火墙状态 选择高级设置 选择入站规则,再新建规则 选择端口,下一步 选择端口应用于啥协议,再指定端口,再下一步 选择阻止连接,下一步 下一步 给规则别名一下,方便…

5.12学习总结

一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下: 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。客户…

快速入门:利用Go语言下载Amazon商品信息的步骤详解

概述 在这篇文章中,我们将深入探讨如何利用Go语言这一强大的工具,结合代理IP技术和多线程技术,实现高效下载Amazon的商品信息。首先,让我们来看看为什么选择Go语言作为开发网络爬虫的首选语言。 Go语言在网络开发中的特点 简洁…