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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function Grade() {
this.dataStore = [];
this.add = add;
this.displayAvg = displayAvg;
}

function add(score) {
this.dataStore.push(score);
}

function displayAvg() {
var avg;
var sum = 0;
for(var i=0; i<this.dataStore.length; ++i) {
sum += this.dataStore[i];
}
avg = sum / this.dataStore.length;
print(avg.toFixed(2));
}

var grade = new Grade();
grade.add(80);
grade.add(70);
grade.add(60);
grade.add(100);
grade.displayAvg();

Q2:将一组单词存储在一个数组中,并按正序和倒序分别显示这些单词。

1
2
3
4
5
var words = ["hello","java","js","csharp","cplusplus","python"];
words.sort();
print(words);
words.reverse();
print(words);

Q3:修改本章前面出现过的weeklyTemps对象,使它可以使用一个二维数组来存储每月的有用数据。增加一些方法用以显示月平均数、具体某一周平均数和所有周的平均数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//修改本章前面出现过的weeklyTemps对象,使它可以使用一个二维数组来存储每月的有用数据。
//增加一些方法用以显示月平均数、具体某一周平均数和所有周的平均数。
function weekTemps(data) {
this.dataStore = data;
this.add = add;
this.monthaverage = monthaverage;
this.weekaverage = weekaverage;
}
function add(week,temp) {
this.dataStore[week-1].push(temp);
}
function monthaverage() {
var total = 0;
var day = 0;
for (var row = 0; row < this.dataStore.length; ++row) {
for(var col = 0; col < this.dataStore[row].length; ++col) {
total += this.dataStore[row][col];
++day;
}
}
return (total / day).toFixed(2);
}
function weekaverage() {
var total = 0;
var avg = [];
for (var row = 0; row < this.dataStore.length; ++row) {
total = 0;
for(var col = 0; col < this.dataStore[row].length; ++col) {
total += this.dataStore[row][col];
}
avg[row] = total/this.dataStore[row].length;
}
return avg;
}

var data = [];
for(var i=0; i<5; i++) {
data[i] = [];
}
var temps = new weekTemps(data);
temps.add(1,20);
temps.add(1,22);
temps.add(1,25);
temps.add(1,27);
temps.add(1,27);
temps.add(1,27);
temps.add(1,25);
temps.add(2,26);
temps.add(2,20);
temps.add(2,20);
temps.add(2,19);
temps.add(2,17);
temps.add(2,20);
temps.add(2,22);
temps.add(3,24);
temps.add(3,23);
temps.add(3,25);
temps.add(3,25);
temps.add(3,27);
temps.add(3,27);
temps.add(3,28);
temps.add(4,30);
temps.add(4,28);
temps.add(4,29);
temps.add(4,29);
temps.add(4,31);
temps.add(4,30);
temps.add(4,28);
temps.add(5,31);
temps.add(5,31);
print("the average of the month:");
print(temps.monthaverage());
var weekavg = temps.weekaverage();
for(var i=0; i<weekavg.length; ++i) {
print("week "+ parseInt(i+1) + ", average: "+ weekavg[i]);
}

Q4:创建这样一个对象,它将字母存储在一个数组中,并且用一个方法可以将字母连在一起,显示成一个单词。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function Combine()  {
this.words = [];
this.add = add;
this.connect = connect;
}
function add(character) {
this.words.push(character);
}
function connect() {
var word;
word = this.words.join("");
return word;
}

var myword = new Combine();
myword.add("H");
myword.add("E");
myword.add("L");
myword.add("L");
myword.add("O");
print(myword.connect());