第二章数组

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值