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

news2024/11/26 22:41:13

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

目录

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.coloradmin.cn/o/1659788.html

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

相关文章

前端技术交流群

欢迎来到前端筱园用户交流!这是一个专注于前端编程技术、学习资源和行业动态的讨论平台。在这里,你可以分享经验、提问、回答问题,与其他前端开发者一起学习和成长。 🌟亲爱的朋友们🌟 大家好!感谢你们一直…

《Tam》论文笔记(下)

3 Method 3.1. The Overview of Temporal Adaptive Module 正如我们在第1节中讨论的,视频数据通常表现出由相机运动和速度变化等因素引起的复杂时间动态。因此,我们的目标是通过引入具有视频特定内核的时间自适应模块 (TAM) 来解决这个问题&#xff0c…

一键自动化博客发布工具,用过的人都说好(infoq篇)

infoq的博客发布界面也是非常简洁的。首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单。 一起来看看吧。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.c…

营收如泡沫,利润如刀片,万辰集团万店梦想下的阴影

(作者注:本文建议配乐《泡沫》阅读!) 从“食用菌第一股”转型为“量贩零食第一股”的首个财年,万辰集团新业务发展迅猛。 财报显示,2023年公司量贩零食业务实现营业收入87.59亿元,同比增长1305…

微火全域运营平台的优缺点分别是什么?

随着全域运营赛道的兴起,微火全域运营平台在市场占有率持续走高,与之相关的各类问题也层出不穷。其中,微火全域运营平台是什么、微火全域运营平台的优缺点等与平台本身相关的问题长期位居话题榜前列。 所谓微火全域运营平台,就是由…

京东手势验证码-YOLO姿态识别+Bézier curve轨迹拟合

这次给老铁们带来的是京东手势验证码的识别。 目标网站:https://plogin.m.jd.com/mreg/index 验证码如下图: 当第一眼看到这个验证码的时候,就头大了,这玩意咋识别??? 静下心来细想后的一个方案&#xf…

使用apache和htaccess对目录访问设置密码保护配置教程

对目录设置密码保护配置说明 我们有时候访问某些网站的时候,要求输入用户名和密码才能访问。这是为了保护隐私,只让经过许可的人访问。 在本教程中主要介绍两种方法,一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护&#xff…

ESP32引脚入门指南(四):从理论到实践(PWM)

引言 ESP32 作为物联网领域的明星微控制器,除了强大的Wi-Fi和蓝牙功能,还内置了丰富的外设资源,其中就包括高级的PWM(脉冲宽度调制)功能。本文将深入探讨ESP32的PWM引脚,解析其工作原理,并通过…

分布式与一致性协议之Quorum NWR算法

Quorum NWR算法 概述 不知道你在工作中有没有遇到过这样的事情:你开发实现了一套AP型分布式系统,实现了最终一致性,且业务接入后运行正常,一切看起来都那么美好。 可是突然有同事说,我们要拉这几个业务的数据做实时分析&#xf…

进口原装二手 Keysight86142B 是德86142A 高性能光谱分析仪

进口原装二手 Keysight86142B 是德86142A 高性能光谱分析仪 内置测试应用程序 • 10 pm 波长精度 • 快速双扫法 • 覆盖 S、C 和 L 波段 Keysight 86142B是一款台式光谱分析仪(OSA),最适于对功率和波长精度、动态范围和低偏振敏感性都要…

asp.net论坛指南系统

说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql server数据库 登陆可查看 浏览记录 TA的发布 TA的回复 TA的收藏 TA的点赞 管理员登陆可以查看举报管理 编辑管理 认证审核 帖子置顶申请审核 运行环境…

【数据处理系列】深入理解递归特征消除法(RFE):基于Python的应用

目录 一、递归特征消除法介绍 二、方法介绍 三、导入数据并选择模型 (一)导入数据 (二) 递归特征消除需要选择模型吗 四、RFE方法进行递归特征消除法 五、RFECV方法进行递归特征消除法(建议使用这种方法) 即交叉验证递归特征消除法 (一)参数介绍 (二)python使用RFECV…

我们真的需要5G吗?再读《5G将是一个彻底的失败通信技术》

目录 投入与产出不成正比 《5G将是一个彻底的失败通信技术》 无线通信技术体制 无线通信技术演进 5G需求 移动通信与WiFi 5G之局 未来之路 参考 投入与产出不成正比 2018年开始大规模装备5G设备,因此2018年被称为5G元年。一般5G基站的寿命为8年左右&#…

GeoServer 任意文件上传漏洞分析研究 CVE-2023-51444

目录 前言 漏洞信息 代码审计 漏洞复现 前言 时隔半月,我又再一次地审起了这个漏洞。第一次看到这个漏洞信息时,尝试复现了一下,结果却很不近人意。从官方公布的漏洞信息来看细节还是太少,poc不是一次就能利用成功的。也是当时…

工器具管理(基于若依)

文章目录 前言一、工器具管理项目总览 二、入库功能1. 前端1.1 界面展示1.2 具体操作实现1.3 js文件 2. 后端2.1 工器具信息回显2.2 工器具入库 三、领用功能1. 前端1.1 界面展示1.2 具体实现操作1.3 js文件 2. 后端2.1 工器具信息回显2.2 工器具领用 遇到的问题1. 同一页面展示…

2024最新版守约者二级域名分发系统源码,提供全面的二级域名管理服务

主要功能 二级域名管理:我们的系统提供全面的二级域名管理服务,让您轻松管理和配置二级域名。 下 载 地 址 : runruncode.com/php/19756.html 域名分发:利用我们先进的域名分发技术,您可以自动化地分配和管理域名&…

【教程向】从零开始创建浏览器插件(二)深入理解 Chrome 扩展的 manifest.json 配置文件

第二步:深入理解 Chrome 扩展的 manifest.json 配置文件 上一次我们已经着手完成了一个自己的浏览器插件,链接在这里:我是链接 在本篇博客中,我们将更详细地探讨 Chrome 扩展中的 manifest.json 文件。这个文件是每个浏览器扩展…

keep健身小程序源码搭建/部署/上线/运营/售后/更新

基于FastAdminThinkPHPUniApp(目前仅支持微信小程序和公众号)开发的健身相关行业微信小程序,程序适用于健身房、瑜伽馆、游泳馆、篮球馆等健身培训场所。平台拥有课程售卖、课程预约、多门店管理、私教预约、教练端、会员卡办理、在线商城、分…

超分辨率专题 | 3 种方法、4 个教程、10 个数据集,一文 Get 核心知识点

2010 年 12 月,清华大学电子工程系教授苏光大接到一通不寻常的电话,内蒙古自治区准格尔刑警队的警员拿着一张模糊不清的犯罪嫌疑人人脸图像,向苏光大寻求帮助。 「这张图像是由路边的监控摄像头拍摄的,像素非常低,肉眼…

一文搞懂什么是外贸企业邮箱?

一文搞懂什么是外贸企业邮箱?外贸企业邮箱,也就是外贸行业使用的企业邮箱系统,一般需要具备海外抵达率高、安全稳定等特点,通过外贸企业邮箱,企业可以和国内国外的客户或者同事进行业务的沟通交流。 一、什么是外贸企…