题解 | #统计成绩#

统计成绩

https://www.nowcoder.com/practice/cad8d946adf64ab3b17a555d68dc0bba

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    let n = parseInt(await readline());
    let scores = (await readline()).split(' ').map(parseFloat);
    let maxScore = Math.max(...scores);
    let minScore = Math.min(...scores);
    let avgScore = scores.reduce((acc, cur) => acc + cur) / n;
    console.log(maxScore.toFixed(2), minScore.toFixed(2), avgScore.toFixed(2));
}()

let scores = (await readline()).split(' ').map(parseFloat);

在读取下一行输入后,将其按空格分割成一个字符串数组,然后通过map函数将数组中的每个字符串转换为浮点数,最终将转换后的浮点数数组存储在scores变量中

使用Math.max和Math.min函数分别找出数组中的最高分和最低分,使用了扩展运算符...将数组中的所有元素展开为参数传递给这两个函数

使用reduce方法计算数组中所有成绩的总和,并除以n得到平均分。最后使用console.log输出最高分、最低分和平均分,

保留两位小数:num.toFixed(2)会将num这个数字保留两位小数并转换为字符串类型。

reduce方法是用于对数组中的所有元素进行累加的方法。它接受一个回调函数作为参数,这个回调函数接收两个参数:累加器和当前元素。在每次迭代中,回调函数都会将累加器和当前元素相加,并将结果返回给下一次迭代。例如,[1, 2, 3].reduce((acc, cur) => acc + cur)会返回6,因为它将数组中的所有元素相加得到6。

Array.prototype.reduce = function(callback, initialValue) {

// ... 实现逻辑

};

map 是 JavaScript 中数组的一个方法,它可以用于遍历数组中的每个元素,并对每个元素执行指定的操作,然后返回一个新的数组。

Array.prototype.map = function(callback, thisArg) {

// ... 实现逻辑

};

map 方法接受一个回调函数作为参数,这个回调函数会被依次传入数组中的每个元素,并对每个元素执行操作。回调函数可以接受三个参数:当前元素的值、当前元素的索引和原始数组。在回调函数中,我们可以对当前元素进行一些操作,然后将操作后的结果返回。

map 方法最终会返回一个新的数组,这个数组的每个元素都是原始数组中对应元素经过回调函数处理后的结果。

举个例子,假设我们有一个数组 [1, 2, 3, 4],我们可以使用 map 方法将数组中的每个元素都乘以 2,然后得到一个新的数组 [2, 4, 6, 8]。这个操作可以通过下面的代码来实现:

const arr = [1, 2, 3, 4];
const newArr = arr.map(item => item * 2);
console.log(newArr); // 输出 [2, 4, 6, 8]
全部评论

相关推荐

点赞 评论 收藏
分享
最近群里有很多同学找我看简历,问问题,主要就是集中在明年三月份的暑期,我暑期还能进大厂嘛?我接下来该怎么做?对于我来说,我对于双非找实习的一个暴论就是title永远大于业务,你在大厂随随便便做点慢SQL治理加个索引,可能就能影响几千人,在小厂你从零到一搭建的系统可能只有几十个人在使用,量级是不一样的。对双非来说,最难的就是约面,怎么才能被大厂约面试?首先这需要一点运气,另外你也需要好的实习带给你的背书。有很多双非的同学在一些外包小厂待了四五个月,这样的产出有什么用呢?工厂的可视化大屏业务很广泛?产出无疑是重要的,但是得当你的实习公司到了一定的档次之后,比如你想走后端,那么中厂后端和大厂测开的选择,你可以选择中厂后端(注意,这里的中厂也得是一些人都知道的,比如哈啰,得物,b站之类,不是说人数超过500就叫中厂),只有这个时候你再去好好关注你的产出,要不就无脑大厂就完了。很多双非同学的误区就在这里,找到一份实习之后,就认为自己达到了阶段性的任务,根本不再投递简历,也不再提升自己,玩了几个月之后,美其名曰沉淀产出,真正的好产出能有多少呢?而实际上双非同学的第一份实习大部分都是工厂外包和政府外包!根本无产出可写😡😡😡!到了最后才发现晚了,所以对双非同学来说,不要放过任何一个从小到中,从中到大的机会,你得先有好的平台与title之后再考虑你的产出!因为那样你才将将能过了HR初筛!我认识一个双非同学,从浪潮到海康,每一段都呆不久,因为他在不断的投递和提升自己,最后去了美团,这才是双非应该做的,而我相信大部分的双非同学,在找到浪潮的那一刻就再也不会看八股,写算法,也不会打开ssob了,这才是你跟别人的差距。
迷茫的大四🐶:我也这样认为,title永远第一,只有名气大,才有人愿意了解你的简历
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务