第二章习题答案

来源:互联网 发布:淘宝每日好店怎么报名 编辑:程序博客网 时间:2024/04/30 04:56

1,创建一个记录学生成绩的对象,提供一个添加成绩的方法,以及一个显示学生平均成绩的方法

function Score(){this.score=[];this.add=add;this.average=average;}function add(data){this.score.push(data);}function average(){var total=0;var len=this.score.length;for(var i=0;i<len;i++){total+=this.score[i];}return (total/len).toFixed(2);}var stuScore=new Score();stuScore.add(100);stuScore.add(102);stuScore.add(103);stuScore.add(102);stuScore.add(109);stuScore.add(106);console.log(stuScore.average());
2,将一组单词存储在一个数组中,并按正序和倒叙分别显示这些单词。
function wordSort(words){this.words=words.sort();this.asc=asc;this.desc=desc;}function asc(){console.log(this.words);}function desc(){var str="";for(var i=this.words.length-1;i>=0;i--){str+=this.words[i]+",";}console.log(str);}var words=["banana","applae","dog","cat","dig","mat"];var wordssort=new wordSort(words);wordssort.asc();wordssort.desc();
3,修改本章前面出现过的weeklyTemps对象,使它可以使用一个二维数组来存储每月的有用数据。增加一些方法用以显示月平均数,具体某一周平均数和所有周平均数。
//气温  var Temp = {      //温度存储      monthTempStore:[],      //周温度存储      weekTempStore:[],      add:function (by,key,temp) {          var 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) {          var sum = 0;          var i = 0;          var strategy = {              month:function () {                  for(;i < Temp.monthTempStore[key].length; i++){                      sum += Temp.monthTempStore[key][i];                  }                  return sum / i;              },              week:function () {                  for(;i < Temp.weekTempStore[key].length; i++){                      sum += Temp.weekTempStore[key][i];                  }                  return sum / i;              },              allWeek:function () {                  var index = 0;                  for(;i < Temp.weekTempStore.length; i++){                      if(Temp.weekTempStore[i]){                          for(var j = 0 ; j < Temp.weekTempStore[i].length; j++){                              sum += Temp.weekTempStore[i][j];                              ++index;                          }                      }                  }                  return sum / index;              }          };          return strategy[by]();      }    };    //存储每个月有用数据  Temp.add('month',1,20);  Temp.add('month',1,30);  Temp.add('month',1,30);  //1月份平均温度 => 月平均数  console.log(Temp.average('month',1));  Temp.add('week',1,30);  Temp.add('week',1,40);  Temp.add('week',2,40);  //第1周温度平均数 => 某一周平均数  console.log(Temp.average('week',1));  //所有周平均数  console.log(Temp.average('allWeek'));  
4,创建这样一个对象,他将字母存储在一个数组中,并且用一个方法可以将字母连在一起,显示成一个单词。
function Word(){this.letters=['a','p','p','l','e'];//用concat方法this.concats=function(){var str="";for(var i=0;i<this.letters.length;i++){str=str.concat(this.letters[i]);}console.log(str);}//用join方法this.joins=function(){return this.letters.join("");}}var word=new Word();word.concats();console.log(word.joins());


阅读全文
0 0