练习1
<script> function analyzeGrades(grades){ let agrades = grades.filter(grade => { return typeof grade === 'number' && !isNaN(grade) && grade >= 0 && grade <= 100; }); let total=0; let average=0; let max=0; let min=0; if (agrades.length>0){ min =arr1[0] max = arr1[0] } for (let i of agrades){ total += i if (i<min){ min = i; } else if (i>max){ max = i; } } average = total / agrades.length let haha = { 优: 0, 良: 0, 中: 0, 差: 0, } agrades.forEach(x => { if(x>=90 && x<=100){ haha.优++; }else if(x>=80 && x<90){ haha.良++; }else if(x>=60 && x<80){ haha.中++; }else { haha.差++; } }); return{ agrades: agrades, total: total, average: average, max: max, min: min, haha: haha, } } let arr1=[95,88,72,55,-10]; let result = analyzeGrades(arr1); console.log(result); </script>练习二
<script> function findPerfectNumbers(start, end){ let wanNumber =[]; for(let num= start; num <= end; num++){ if (num <=1){ continue; } let zhenyingzi = 0; for(let i =1; i <= num/2; i++ ){ if (num%i===0){ zhenyingzi+=i; } } if (zhenyingzi === num){ wanNumber.push(num); } } return wanNumber; } console.log(findPerfectNumbers(2,500)); </script>练习三不会合并两个数组并去重