第二章 数组
练习题
- 创建一个记录学生成绩的对象,提供一个添加成绩的方法,以及一个显示学生平均成绩的方法。
添加方法和求平均值方法没有问题,容易忽视要创建一个数组用于存储学生的成绩。
// 创建一个学生成绩的对象
function StudentResults () {
this.dataStore = []
this.add = add
this.average = average
}
// 添加成绩方法
function add(temp) {
this.dataStore.push(temp)
}
// 求平均成绩方法
function average() {
var total = 0;
for (var i = 0; i < this.dataStore.length; i++) {
total += this.dataStore[i]
}
return total / this.dataStore.length
}
// 实例化对象
var newStudent = new StudentResults()
newStudent.add(90)
newStudent.add(88)
newStudent.add(98)
console.log(newStudent.average()) // 92
- 将一组单词存储在一个数组中,并按正序和倒序分别显示这些单词。
var arr = ['You', 'can', 'opt', 'out', 'of', 'these', 'changes', 'at', 'any', 'time' ]
// 按照字典正序排序
console.log(arr.sort())
// 正序排序后再倒序
console.log(arr.sort().reverse())
- 创建这样一个对象,它将字母存储在一个数组中,并且用一个方法可以将字母连在一起,显示成一个单词。
function joinHandle(arr) {
return arr.join('')
}
console.log(joinHandle(['g', 'a', 'o', 'h', 'e', 'i', 'h', 'e', 'i']))