function getAvg(percentArr,totalArr) {
var myPercentArr = JSON.parse(JSON.stringify(percentArr));
var myTotalArr = JSON.parse(JSON.stringify(totalArr));
var percent_arr;
var total_arr;
for(let i=0;i<myPercentArr.length;i++){
if(myPercentArr[i] <= 0){
myPercentArr.splice(i,1);
i--;
}
}
for(let i=0;i<myTotalArr.length;i++){
if(myTotalArr[i] <= 0){
myTotalArr.splice(i,1);
i--;
}
}
if(myPercentArr.length == 0 || myTotalArr.length == 0){
return 0;
}
const percent_sum = myPercentArr.reduce((total, num) => total + num);
let avg = percent_sum / myTotalArr.length;
return avg.toFixed(2);
}
其中: var myPercentArr = JSON.parse(JSON.stringify(percentArr)); var myTotalArr = JSON.parse(JSON.stringify(totalArr));
为深拷贝操作。
如只是简单赋值,即浅拷贝,var myPercentArr = percentArr;
在对myPercentArr 进行修改后,同时原数据也会被修改。