我学习js基础到现在已经4天了,我想对我这几天做错的最典型的一道题回顾一下,俗话说温故而知新是有一定道理的。
1、这个是正确的答 // 已知学生的成绩单哈希表all_scores和名字数组stu_names。
//求stu_names中学生的平均成绩并打印 for(var i=0;i<stu_names.length;i++) { var sum=0; for(var j=0;j<all_scores[stu_names[i]].length;j++) {sum+=all_scores[stu_names[i]][j] } console.log(stu_names[i]+'的平均成绩为'+sum/3) }
知识点:1,对象属性值的两种获取方法:(1)all_scores.键(2)all_scores[ 键]这里只能用第二种,第二种可用于动态取值。2,js中字符串和数据的拼接可以直接用“+”来链接很方便。
2.这个是我刚开始写的,只插入了循环那一段
var sum=[ ]; for(var i=0;i<10;i++) {for(var j;j<3;j++) {sum[i]+=all_scores[stu_names[i]][j]} console.log(stu_names[i]+'的平均成绩为'+sum[i]/3) }
错误:1.i<10这个这么写其实是对的但是只适用于做题给出了你数组的长度所以最好不要这么写,i<stu_names.length这么写才是最好的。
2、sum[i]+=all_scores[stu_names[i]][j]这个是主要的错误了,我当时想的是先定义一个空数组,它的默认值不是0吗,循环加后把各个学生的总成绩分别给空数组的前十个元素,然后除三后输出平均成绩。
总结:(1)开始学的时候把它当做全新的一门语言学的,完全和别的语言区别开了,如果和c++结合学习会很简单。
(2)从这道题中能很清晰的将前面的知识点具体化易于理解