第二章数组
1.创建一个记录学生成绩的对象,提供一个添加成绩的方法,以及一个显示学生平均成绩的方法。
function Student(grade){ this.grade=grade; this.add=add; this.average=average; } function add(grade){ this.grade.push(grade); } function average(){ let sum=0; for(let i=0;i<this.grade.length;i++){ sum +=this.grade[i]; } return (sum/this.grade.length).toFixed(2); } let grades=[10,10,10,10,10]; let stu=new Student(grades); stu.add(16); console.log(stu.average());
2.将一组单词存储在一个数组中,并按正序和倒序分别显示这些单词
let sentence="the quick brown fox jumped over the lazy dog"; let words=sentence.split(" "); console.log("words:",words); console.log("正序",words.sort()); console.log("倒叙",words.sort().reverse());
3.修改本章前面出现过的 weeklyTemps 对象,使它可以使用一个二维数组来存储每月的有 用数据。增加一些方法用以显示月平均数、具体某一周平均数和所有周的平均数 let Temp={ monthTempStore:[], weekTempStore:[], add:function(by,key,temp){ let strategy={ month:function(month){ Temp.monthTempStore[month]=Temp.monthTempStore[month] || new Array(); Temp.monthTempStore[month].push(temp); }, week:function(week){ Temp.weekTempStore[week]=Temp.weekTempStore[week] || new Array(); Temp.weekTempStore[week].push(temp); }, }; strategy[by](key); }, average:function(by,key){ let sum=0; let strategy={ month:function(){ for(let i=0;i<Temp.monthTempStore[key].length;i++){ sum +=Temp.monthTempStore[key][i]; } return sum / Temp.monthTempStore[key].length; }, week:function(){ for(let i=0;i<Temp.weekTempStore[key].length;i++){ sum +=Temp.weekTempStore[key][i]; } return sum / Temp.weekTempStore[key].length; }, allWeek:function(){ let index=0; for(let i=0;i<Temp.weekTempStore.length;i++){ if (Temp.weekTempStore[i]) { for(let j=0;j<Temp.weekTempStore[i].length;j++){ sum +=Temp.weekTempStore[i][j]; ++index; } } } return sum / index; } }; return strategy[by](); } };
//存储每个月有用数据 Temp.add('month',1,10); Temp.add('month',1,30); //1月份平均温度 console.log(Temp.average('month',1)); Temp.add('week',1,50); Temp.add('week',1,50); Temp.add('week',1,50); //第一周温度平均数 console.log("week:",Temp.average('week',1)); //所有周平均数 console.log(Temp.average('allWeek'));
4.创建这样一个对象,他将字母存储在一个数组中,并且用一个方法可以将字母连在一起,显示成一个单词。
function Word(data){ if (!(data instanceof Array)) { console.log("请传入一个数组"); } this.data=data; this.letter=function(){ return this.data.join(""); } } // let word=new Word(1); let word=new Word(['a','p','p','l','e']); let w=word.letter(); console.log(w);