JS实现求平均数的功能

需求:去掉一个最大值,去掉一个最小值,求剩余数的平均数

Array.prototype.pingjunzhi = function(){

    let newAry = this.sort((a,b)=>{ return a-b; }).slice(1,this.length-1);

    return Number.parseInt(eval(newAry.join("+"))/newAry.length);

}

来解释一下:

    知道this是谁吧,因为我这个方法是写在原型上的,所以就是谁调用这个方法this就是谁喽,

    首先给它排序,我这里是按照从小到大的排序,你也可以从大到小排序,随你喜欢,

    比如说,this是这样的:[2,5,1,9],经过排序以后,this是这样的:[1,2,5,9]。    

    然后用链式写法调用了数组的方法slice,要知道你要使用链式写法,首先你得必须是同一种数据类型,很棒,我这里都是数组,调用slice从第一个开始,取到了倒数第二个,如果不了解slice,就去了解完了再来更好理解,那我为什么用了一个新变量来接收呢,因为slice不会改变原数组啊,所以只好来个新变量接喽。

    然后把其余数相加并除去数的个数,再用parseInt只取整数部分,把这个结果return出来,得到的就是喽。

    别说我命名不规范,我只是随便写的,也别说我带你走错,开发中的规则你还是要牢记的,开发中我也不      会用这种命名

    欢迎批评指正!


你可能感兴趣的:(JS实现求平均数的功能)