<template> <div class="key"> <pre>{{ stuIdList }}</pre> <div>学生总成绩为:{{ totalScore }}分</div> <div>学生求平均数:{{ averageScore }}分</div> <pre>取值{{ getValue }}</pre> <div>张三的平均成绩:{{ firstStuAverageScore }}</div> <div>李四的平均成绩:{{ secondStuAverageScore }}</div> <div>刘能的平均成绩:{{ thirdStuAverageScore }}</div> </div> </template> <script> import Enumerable from 'linq' export default { name: "keywords", data() { return { isShow: false, defaultHeight: '', nowHeight: '', stuData: [ {id: 1, name: '张三', phone: 15822698996, subject: '语文', score: 88}, {id: 2, name: '张三', phone: 15822698996, subject: '数学', score: 56}, {id: 3, name: '张三', phone: 15822698996, subject: '英语', score: 87}, {id: 4, name: '李四', phone: 18522158390, subject: '语文', score: 90}, {id: 5, name: '李四', phone: 18522158390, subject: '数学', score: 71}, {id: 6, name: '李四', phone: 18522158390, subject: '英语', score: 89}, {id: 7, name: '刘能', phone: 17695996601, subject: '语文', score: 100} ], stuIdList: [], totalScore: 0, averageScore: 0, getValue: 0, firstStuAverageScore: 0, secondStuAverageScore: 0, thirdStuAverageScore: 0, } }, created() { this.showId() // this.showInfo() }, methods: { showId() { // this.stuIdList = Enumerable.from(this.stuData).skip(5).take(5).toArray() let res = Enumerable.from(this.stuData) // this.stuIdList = res.where(item => item.score > 70 && item.subject === '英语' || item.subject === '数学') // .toArray() //语文学科降序排序 //this.stuIdList=res.where(item=>item.subject=='语文').orderByDescending(item=>item.score).toArray() //语文学科升序排序 //this.stuIdList=res.where(item=>item.subject=='语文').orderBy(item=>item.score).toArray() //.thenBy方法是后执行的 //this.stuIdList=res.orderBy(item=>item.subject).thenByDescending(item=>item.score).toArray() //this.totalScore = this.stuData.map(item => item.score).reduce((pre, n) => pre + n) //linq求和方法 this.totalScore = res.sum(item => (item.score)) console.log(res) //linq求平均数 this.averageScore = res.average(item => item.score) //获取学生成绩升序排列的第一条数据 this.getValue = res.orderBy(item => item.score).lastOrDefault() //获取成绩在70-90之间的学生的升序排列 this.stuIdList = res.where(item => (item.score > 70 && item.score < 90)).orderBy(item => item.score).toArray() //计算每个学生的平均成绩 this.stuIdList = Enumerable.from(this.stuData).groupBy(item => item.name).select(item => ({ key: item.key(), averageScore: item.average(item => item.score) })).toArray() // this.firstStuAverageScore=Enumerable.from(this.stuIdList).average(item=>item.source.score) this.stuIdList = res.groupBy(item => item.name).select(item => ({ name: item.key(), info: item.getSource() })).toArray().map(item => { return { stuName: item.name, phone: item.info[0].phone, //totalScore:Enumerable.from(item.info).sum(item=>item.score), totalScore:item.info.map(item=>item.score).reduce((pre,n)=>pre+n), averageScore:(Enumerable.from(item.info).average(item=>item.score)).toFixed(2) } }) }, showInfo() { this.stuIdList = this.stuData.map(item => { return { stuId: item.id, stuName: item.name, add: item.phone + item.score } }) }, stuAverageScore(name) { let res = Enumerable.from(this.stuData) return res.where(item => item.name == name).average(item => item.score) } } } </script> <style scoped> </style>
Linq+js
最新推荐文章于 2024-06-20 09:41:11 发布