第二章习题答案

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
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


你可能感兴趣的:(第二章习题答案)