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