用 vue3 中的 reduce(累加器) 随机生成100个字母,放入数组中,统计每个字母出现的次数
一、首先不用 reduce() 来实现
代码如下:
<template lang="">
<div>
<h1>统计每个字母出现的次数,不使用reduce(累加器)</h1>
<p><span>注意:</span> 亲,看控制台哦!</p>
</div>
</template>
<script lang="ts">
import { reactive } from 'vue'; export default {
setup() {
// 生成随机数的封装好的方法
function random(min:any, max:any) {
return Math.floor(Math.random() * (max - min)) + min;
}
// 26个字母
const abc = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
// 生成100个随机字母
let abcbox:Array<string> = reactive([])
function creabc(){
for (let i = 0; i <= 99; i++) {
// 添加随机字母进数组,随机数从第一个数开始,到最后一个数(26个字母)
abcbox.push(abc[random(0,25)])
}
console.log(abcbox);
}
// 调用方法
creabc() ////////////////////////////////////////////////////////////////////////////////////////////////////// // 统计每一个字母的数量
let coout1 = {}
// for循环 原理实现
function tongji () {
for (let i = 0; i<abcbox.length;i++) { // 1.首先,循环100个字母,;比如随机之后的字母为a
if(coout1[abcbox[i]] === undefined){ // 判断数量1的对象里面的属性如果为空的话 (首次出现的字母不是a话就为空)
coout1[abcbox[i]] = 1 // 就把a字母存进 coout1 的对象里面 数量 = 1
} else {
coout1[abcbox[i]]++
}
}
console.log(coout1);
}
// 调用方法
tongji() }
}
</script>
<style scoped>
span{
color: red;
font-weight: bold;
}
</style>
二、用 reduce() 来实现
代码如下:
<template lang="">
<div>
<h1>统计每个字母出现的次数,使用reduce(累加器)</h1>
<p><span>注意:</span> 亲,看控制台哦!</p>
</div>
</template>
<script lang="ts">
import { reactive } from 'vue'; export default {
setup() { function random(min:any, max:any) {
return Math.floor(Math.random() * (max - min)) + min;
}
const abc = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
// 生成100个随机字母
let abcbox:Array<string> = reactive([])
function creabc(){
for (let i = 0; i <= 99; i++) {
// 添加随机字母进数组
abcbox.push(abc[random(0,25)])
}
console.log(abcbox);
}
creabc() ////////////////////////////////////////////////////////////////////////////////////////////////////// // 统计每一个字母的数量
let coout1 = null
/**
* 累加器原理:[{},1,2,4,34,3,34] (在前面定义一个空对象,第一次是1和空对象比,第二次是1和2比,第三次是2和4比)
*/
function tongji () {
// 传入的两个参数:第一个数据,下一个数据
coout1 = abcbox.reduce(function(prev, next) {
prev[next] = (prev[next] + 1) || 1;
return prev;
}, {});
console.log(coout1);
}
tongji()
}
}
</script>
<style scoped>
span{
color: red;
font-weight: bold;
}
</style>
用 vue3 中的 reduce(累加器) 随机生成100个字母,放入数组中,统计每个字母出现的次数的更多相关文章
- java 将MySql数据库中的数据(某一列)取出放入数组中 转
转:http://blog.csdn.net/ewili/article/details/8605638 假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来: publ ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- .Net中把图片等文件放入DLL中,并在程序中引用
原文:.Net中把图片等文件放入DLL中,并在程序中引用 [摘要] 有时我们需要隐藏程序中的一些资源,比如游戏,过关后才能看到图片,那么图片就必须隐藏起来,否则不用玩这个游戏就可以看到你的图片了,呵呵 ...
- 现有1~100 共一百个自然数,已随机放入一个有98个元素的数组a[98].要求写出一个尽量简单的方案找出没有被放入数组的那2个数,并在屏幕上打印这2个数
void test7() { try { ]; ]; ]; ; ; int i; ; i < num.Length; i++) { num[i] = i + ; num1[i] = i + ;/ ...
- tuple放入dict中
tuple放入dict中是否可以正常运行 # 将tuple放入dict中 a = ('AI','Kobe','Yao') b = ('AI',['Kobe','Yao']) dict1 = {'a': ...
- 在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可
在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可
- 在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行
package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) ...
- 用MT.exe将exe中的manifest文件提取出来和将manifest文件放入exe中
前一种方法是将manifest文件放入exe中,但是要记得需要在工程中设置 这样的话exe中就不存在manifest了,在debug目录下就会看到相应的manifest文件.后者是将exe中的man ...
- pyqt字符串分离开,放入列表中
string1 = ''''' the stirng Has many line In THE fIle ''' list_of_string = string1.split() print list ...
随机推荐
- vacuum和vacuum full的处理过程
对于数据库系统的并发控制,KingbaseES采用MVCC(多版本并发控制)进行处理. 这种机制有一个缺点,就是随着时间的推移,数据文件中积累的dead tuples会越来越多. 怎么去清理这些dea ...
- 第一篇博客:HTML:background的使用
开篇 我是一名程序员小白,这是我写的第一篇博客,在学习的路上难免会遇到难以解决的问题,我将会在这里写下我遇到的问题并附上解决方法 希望可以对各位有所帮助!! 我们在html中经常会遇到这样的问题 例如 ...
- 新建Github仓库并上传本地代码
按照Github的教程 Adding a local repository to GitHub using Git 1. 创建空的Github仓库 创建远程仓库 ,注意不要勾选Add a README ...
- 基于anaconda3的Pytorch环境搭建
安装anaconda3,版本选择新的就行 打开anaconda prompt创建虚拟环境conda create -n pytorch_gpu python=3.9,pytorch_gpu是环境名称, ...
- Docker安装Redis并使用Another Redis Desktop Manager连接
Redis简单介绍 Redis全称是Remote DIctionary Service,即远程字典服务.Redis 是一个使用C语言编写的.开源的(遵守 BSD 协议).高性能的.支持网络.可基于内存 ...
- Pytest fixture及conftest详解
前言 fixture是在测试函数运行前后,由pytest执行的外壳函数.fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集.配置测试前系统的初始状态.为批量测试提供数据源等 ...
- thinkphp5.1打印SQL语句
最近在写tp框架搭建的小玩具,有时候我们需要查看SQL语句.所以就诞生了这篇随笔,命令如下: $xxx=db('xxx')->where('x',xx)->select(); $sql=D ...
- 以TrueType为例谈字形描述
以TrueType为例谈字形描述 作者:哲思 时间:2022.9.17 邮箱:zhe__si@163.com GitHub:zhe-si (哲思) (github.com) 一.前言 在深入理解&qu ...
- 2.Python环境搭建
Python是一个跨平台.可移植的编程语言,因此可在windows.linux/unix和Mac os x系统中安装使用.安装完成后,你会得到Python解释器环境,一个命令行交互环境,一个简单的集成 ...
- Elasticsearch:使用 GeoIP 丰富来自内部专用 IP 地址
转载自:https://blog.csdn.net/UbuntuTouch/article/details/108614271 对于公共 IP,可以创建表来指定 IP 属于哪个城市的特定范围.但是,互 ...