Vue基础案例-成绩显示

news/2024/5/3 15:43:05/文章来源:https://blog.csdn.net/qq_45387575/article/details/126814850

 成绩排序应该按照降序排

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app">搜索:<input type="text" v-model="mincore">~<input type="text" v-model="maxcore"><br> 排名方式:<input type="radio" v-model="chose" id="总分" value="总分" @click="choice">总分 <input type="radio" v-model="chose" id="'数学" value="数学" @click="choice">数学 <input type="radio" v-model="chose" id='语文' value="语文" @click="choice">语文 <input type="radio"v-model="chose" id="英语" value="英语" @click="choice">英语<table><thead><th>排名</th><th>姓名</th><th>数学</th><th>语文</th><th>英语</th><th>总分</th></thead><tbody><tr v-for="(item,index) in showcore"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.math}}</td><td>{{item.chinese}}</td><td>{{item.eng}}</td><td>{{item.total}}</td></tr></tbody></table></div><script src="/demo3_824/js文件/vue.js"></script><script>var data = {message: [{name: '张三',math: 97,chinese: 89,eng: 67}, {name: '王五',math: 72,chinese: 55,eng: 78}, {name: '赵茜',math: 32,chinese: 45,eng: 78}, {name: '孙素',math: 45,chinese: 67,eng: 89}],mincore: 0,maxcore: 300,chose: '总分',//比较函数compare(p) {return function(m, n) {var a = m[p]var b = n[p]return a - b}},}const app = new Vue({el: '#app',data: data,computed: {showcore() {let showcores = []for (let i = 0; i < this.message.length; i++) {total = this.message[i].math + this.message[i].chinese + this.message[i].engif (total >= this.mincore && total < this.maxcore) {//添加total属性showcores.push(Object.assign(this.message[i], {total: total}))}}//默认排序showcores.sort(this.compare('total'))return showcores}},methods: {//排序choice(event) {console.log(3);if (event.target.value == '数学') {this.showcore.sort(this.compare('math'))}if (event.target.value == '语文') {this.showcore.sort(this.compare('chinese'))}if (event.target.value == '英语') {this.showcore.sort(this.compare('eng'))}if (event.target.value == '总分') {this.showcore.sort(this.compare('total'))}}}})</script>
</body></html>

1、给数组中的所有对象追加一个属性

        let arr = []let lilst = [{name: '小红',math: 40,en: 89}, {name: '小红',math: 40,en: 89}]lilst.map((item, index) => {console.log(item);let result = item.math + item.enarr.push(Object.assign(item, {total: result}))})console.log(arr);

 2、sort方法对对象数组实现排序

sort()方法汇改变原数组,默认按照字符进行排序

也可以选择他的某一顺序进行排序

        let arr = []let lilst = [{name: '小红',math: 80,en: 82}, {name: '小红',math: 79,en: 89}]lilst.map((item, index) => {console.log(item);let result = item.math + item.enarr.push(Object.assign(item, {total: result}))})//比较函数function compare(p) {return function(m, n) {var a = m[p]var b = n[p]return a - b //升序}}arr.sort(compare('math'))console.log(lilst, arr);

 3、数组排序

        let arr = [2, 5, 7, 2, 523, 435, 64]function compare(a, b) {return b - a //降序}arr.sort((a, b) => {return a - b})console.log(arr);

4、sort按照时间进行排序

        let arr = [{"applyId": "1909101016056138768202215","createTime": "2019-09-10 10:16:02","status": 0,"userName": "李某某"}, {"applyId": "1909101027225522012190631","createTime": "2019-09-10 10:07:19","status": 1,"userName": "李某某"}, {"applyId": "1909101027225562448906248","createTime": "2019-09-10 10:27:19","status": 3,"userName": "李某某"}]arr.sort((a, b) => {return Date.parse(a.createTime) - Date.parse(b.createTime)})console.log(arr)

 注意:此时需要将时间转换为时间戳在进行比较

5、input表单标签

type:类型    disabled:表示此表单控件不可用   name:控件的名称,与表单数据一起提交

placeholder:提示用户输入框的格式(与label元素区别) value:空间的初始值

radio单选按钮:如果name一样的话,name这些radio就是一组一组的,只能有一个被选中

如果想多个选中,可以将name换成不同的名字,也可以直接使用复选按钮

//name相同才能实现单选按钮。<input type="radio" name="question1" value="boy">男<input type="radio" name="question1" value="girl">女//如果用v-model绑定,则无需name参数。<input type="radio" v-model="rank" value="total"><input type="radio" v-model="rank" value="math">
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.active {color: orange}</style>
</head><body><div id="app"><div><span>搜索:</span><input type="text" v-model="min"><span>~</span><input type="text" v-model="max"></div><div><span>排名方式:</span><input type="radio" value="total" v-model="rank">总分<input type="radio" value="math" v-model="rank">数学<input type="radio" value="chinese" v-model="rank">语文<input type="radio" value="english" v-model="rank">英语</div><table><thead><tr><th>排名</th><th>姓名</th><th>数学</th><th>语文</th><th>英语</th><th>总分</th></tr></thead><!-- 先筛选再排序,遍历排序后的数组 --><tr v-for="(item,index) in sortScoreData" :key="index"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.math}}</td><td>{{item.chinese}}</td><td>{{item.english}}</td><td>{{oneTotal(item)}}</td></tr></table></div><script src="/demo3_824/js文件/vue.js"></script><script>let data = {scoresData: [{name: '张三',math: 97,chinese: 89,english: 67}, {name: '李四',math: 67,chinese: 52,english: 98}, {name: '王五',math: 72,chinese: 87,english: 89}, {name: '赵钱',math: 92,chinese: 87,english: 59}, {name: '孙李',math: 47,chinese: 85,english: 92}],rank: "total", //记录当前用户选择的排序方式min: 0,max: 300}const app = new Vue({el: '#app',data: data,computed: {oneTotal() {return function(item) {return item.math + item.chinese + item.english}},//计算数得到筛选后的数组filterScoreData() {return this.scoresData.filter(item => {if (this.rank == 'total') {return (this.oneTotal(item)) > this.min && (this.oneTotal(item)) <= this.max}return item[this.rank] >= this.min && item[this.rank] <= this.max})},//计算属性得到排序后的数组sortScoreData() {switch (this.rank) {case 'total':return this.filterScoreData.sort((a, b) => (this.oneTotal(b)) - (this.oneTotal(a)))break;case 'math':return this.filterScoreData.sort((a, b) => b.math - a.math)break;case 'chinese':return this.filterScoreData.sort((a, b) => b.chinese - a.chinese)break;case 'english':return this.filterScoreData.sort((a, b) => b.english - a.english)break;}}}})</script>
</body></html>

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

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

相关文章

msm8953 LCD移植详解

一、简介 本文是基于高通msm8953的LCD模块移植说明。LCD移植主要是涉及到LK和kernel部分的修改。 二、实操准备 1、专业术语 HSYNC:行同步信号&#xff0c;表示扫描1行的开始。 VSYNC:帧同步信号,表示扫描1帧的开始&#xff0c;一帧也就是LCD显示的一个画面。 HFP:Horizon …

Linux学习笔记——网络管理

主要涉及Linux网络管理的几个简单指令&#xff0c;主要包括ifconfig、ping、nslookup 获取网络接口的配置信息 可以使用 ifconfig 命令查看网络接口的配置信息 语法 ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络…

认识我们的团队:Ed Hertzog

认识我们的团队:Ed HertzogOur team works hard, but they believe in the work they do— hear more from one of our devs below. 了解背后的人 茴香梗 ——在本系列中,我们与 Fennel Labs 团队的成员坐下来了解更多关于他们是谁以及他们做什么的信息。今天,我们一起出去玩…

网络编程-流

流一、概貌1.消息类型二、getmsg和putmsg函数三、getpmsg和putpmsg函数四、ioctl函数五、TPI&#xff1a;传输提供者接口1.TPI时间获取客户程序一、概貌 流在进程和驱动程序(driver)之间提供全双工的连接,如下所示&#xff0c;虽然我们称底部那个方框为驱动程序&#xff0c;它…

02 最优化模型建立方法

1 什么是数学模型 数学模型是关于部分现实世界和为一种特殊目的而作地一个抽象地.简化地结构。 具体就是为了某种目的&#xff0c;用字母.数字及其他数学符号建立起来地等式或不等式以及图表。图像。框图等描述客观事物的特征及内在联系的数学结构表达式。 2.建立数学模型的方…

【Linux---02】CentOS操作系统的说明「简单使用 | 文件目录 | 常用命令」

文章目录1. CentOS的简单使用2. CentOS的文件目录2.1 目录结构2.2 各个目录的含义3. CentOS的常用命令1. CentOS的简单使用 鼠标进入虚拟机的OS&#xff1a;直接点击鼠标左键 鼠标退出虚拟机的OS&#xff1a;ctrl alt 在linux系统上&#xff0c;不使用图形化终端&#xff0c…

蓝牙BLE调试关于NRF connect相关信息分析

简介 nRF Connect是一个强大的通用工具&#xff0c;它允许你扫描和探索你的蓝牙低功耗(以后的蓝牙LE&#xff0c;也称为蓝牙4.0版本的蓝牙规范)设备&#xff0c;并与它们通信。 nRF连接还允许您的iOS设备广告作为一个外围设备&#xff0c;充分支持许多蓝牙SIG采用的配置文件。…

微信小程序在线考试项目开发-用户信息注册登录功能

⭐️⭐️⭐️ 作者&#xff1a;船长在船上 &#x1f6a9;&#x1f6a9;&#x1f6a9; 主页&#xff1a;来访地址船长在船上的博客 &#x1f528;&#x1f528;&#x1f528; 简介&#xff1a;CSDN前端领域优质创作者&#xff0c;资深前端开发工程师&#xff0c;专注前端开发…

ERAT读和写指令(eratre和eratwe)

ERAT管理指令 为了使hypervisor&#xff08;或 “bare-metal” operating system&#xff09;软件可以直接操作ERAT的entries&#xff0c;在A2 core中实现一组nonarchitected的ERAT管理指令。为了防止user和guest模式下的程序影响TLB地址转换和访问控制机制&#xff0c;所有的E…

乐高广告创意50例——创意无砖

乐高的创意不仅仅局限于建造令人惊叹的建筑,或是拍摄定格电影,甚至是重新制作音乐专辑封面和电影海报,它甚至延伸到了广告领域。 与塑料砖一样,乐高可以采用最简单的概念,做出强大、智能且通常诙谐的声明。 从本图库中的精彩平面广告中,你可以看到,典型的乐高广告所采用…

《Python3 网络爬虫开发实战》:灵巧好用的 正则表达式

灵巧好用的 正则表达式 在上一节中&#xff0c;我们已经可以用 requests 来获取网页的源代码&#xff0c;得到 HTML 代码。但我们真正想要的数据是包含在 HTML 代码之中的&#xff0c;怎么才能从 HTML 代码中获取我们想要的信息呢&#xff1f;正则表达式就是其中一个有效的方法…

基于VC++的WEB浏览器的实现

目 录 摘 要 2 1设计题目与要求 2 2系统设计 2 2.1总体设计 2 2.2详细设计 2 2.2.1用户界面设计 3 2.2.2多标签模块设计 6 2.2.3浏览模块设计 6 2.2.4操作按钮模块设计 9 2.2.5页面缩放模块设计 10 2.2.6状态栏模块设计 11 2.2.7收藏夹模块设计 13 2.2.8窗体关闭模块设计 13 2.…

网页设计中蒸汽朋克的美丽例子

即使你不熟悉蒸汽朋克这个词,你无疑已经通过流行文化被介绍到了这种设计现象。蒸汽朋克指的是一种异想天开的风格,这种风格基于对19世纪可能的反乌托邦世界的想象。这听起来可能有点复杂,但这个折衷的类别将H.G.威尔斯的想法与维多利亚时代的设计、工业主义主题、后世界末日…

第3章 基础项目的搭建

3.1 后端项目搭建 3.1.1 gitee下载脚手架 下载地址&#xff1a;https://gitee.com/77jubao2015/springbootdemo 打开浏览器输入以上地址&#xff0c;点击下载即可&#xff0c;如图所示&#xff1a; 3.1.2 把脚手架导入到idea开发工具 步骤01 把下载后的脚手架放到指定位置并解…

数据库基本概念

目录 一、数据库概念 1、数据库的组成 &#xff08;数据为行&#xff0c;字段为列&#xff09; 2、数据库的管理系统&#xff08;DBMS) 二、数据库系统发展史 1、第一代数据库&#xff08;人工管理&#xff09; 2、第二代数据库&#xff08;文件管理&#xff09; 3、第三…

大学SQLServer2012 安装流程+启动+登录+用户的操作

这里写目录标题第一步下载解压的文件第二步骤安装软件第三步执行安装选项执行安装选项1执行安装选项2执行安装选项3 同意条款执行安装选项4配置检测执行安装选项5 下载需求组件执行安装选项6 上面安装完成后执行安装选项需求---关闭防火墙执行安装选项7--重新检测执行安装选项8…

SpringMVC基础:AJAX发送请求

AJAX请求 前面我们讲解了如何向浏览器发送一个JSON格式的数据&#xff0c;那么我们现在来看看如何向服务器请求数据。 Ajax即Asynchronous Javascript And XML&#xff08;异步JavaScript和XML&#xff09;&#xff0c;它的目标就是实现页面中的数据动态更新&#xff0c;而不是…

微服务--数据一致性

本篇文章讲解微服务数据一致性相关的知识 一、案例 在使用微服务时&#xff0c;存在跨多个服务更新数据库数据的情况。那么这就会出现一个问题&#xff0c;比如我们有三个服务&#xff08;如下图&#xff09;&#xff0c;正常情况下&#xff0c;当一个请求进来时&#xff0c;…

【软件与系统安全笔记】五、内存破坏防御

【软件与系统安全】五、内存破坏防御 这是《【软件与系统安全】笔记与期末复习》系列中的一篇 虽然对缓冲区溢出的认知已超过 40 年之久, 但缓冲区溢出仍未被消除。部分原因在于存在大量的利用选项&#xff1a; 多样的目标: 不仅仅可以利用返回地址, 实际上可以利用任意代码地…

JDK1.8中的Stream流源码中的常用方法全面解析附代码演示及源码展示

文章目录&#x1f4a8;更多相关知识&#x1f447;&#x1f342;allMatch&#x1f31f;代码演示&#x1f342;anyMatch&#x1f31f;代码演示&#x1f342;noneMatch&#x1f31f;代码演示&#x1f342;findFirst&#x1f31f;代码演示&#x1f342;findAny&#x1f31f;代码演示…