- 涉及到的知识点 有类数组转化成数组 eval执行表达式 Number后保留2位小数 tofixed
传递参数一个一个传递的时候转化成数组的方式 avg.apply
var arr = [323,3,2,21,3];
function avg() {
var arr = [].slice.call(arguments);
arr.sort(function (a,b) {
return a-b;
});
arr.shift();
arr.pop();
var av = (eval(arr.join('+')) / arr.length).toFixed(2) ;
return av;
}
console.log(avg.apply(null,arr));
2.类数组转换成数组有2种方式
[].slice.call(arguments);
Array.prototype.slice.call(arguments);
原理就是替换方法里面的this并且执行因此 call和apply都可以