JS数组
数组:使用单独的变量名来存储一系列的值。
数组元素:数组里面的每一项
数组长度:数组里面元素的个数
表示方法:数组名.length
数组下标(索引):数组元素在数组的位置,从0开始
如:var a = [12,45,7]
这个数组名为a 有三个元素,分别是12 45 7 ,45的位置是第1位。
还可以定义var a = [5] 表示这个数组里有五个元素。
二维数组:数组里面的元素是一维数组。 如 [[1,3],[1,8],[9,55]]
下面是一个一维数组的联系,用到了for循环给数组赋值,还有数组的方法
indexOf() 若等于-1则这个元素在数组没有出现过,其他值则为它在元素中的位置。
push() 将元素加到数组的最后一项
//彩票36选7不重复 //定义彩票36的数组 var attr = [], //定义选择7个的空数组 option = [], //定义计数次数 jishu = 0, //定义随机数变量 num; //使用循环给36数组赋值 for(var i = 1; i < 37; i ++){ attr[i] = i; } while(true){ //随机取0-36的数赋值给num 作为数组下标 num = parseInt(Math.random()*36); //当选中的7中没有和总数组重复的数时 if(option.indexOf(attr[num]) == -1){ //计数加一 jishu ++; //并把这个不重复的数放进选7的数组最后 option.push(attr[num]); //当计数次数为7时,结束循环。 if(jishu == 7){ break; } } } //输出选中的7项 alert(option);
下面是一个二维数组的练习,定义两个空数组,用for循环给数组一赋值,每一个元素都是一个人的学号和三门课成绩。因此一个元素是一个数组。数组二用来装计算后的平均分等。
//一个班六个人,学号语文、数学、英语,接收成绩(不接受学号),输出学号成绩,总分、平均分, //定义个人成绩的数组 包括学号 语文 数学 英语 var arr = [], //定义个人计算成绩的数组 包括 学号 总分 平均分 newarr = []; //循环输入六个人的学号 语文 数学 英语成绩 for(var i = 0; i < 3; i ++){ var xh = prompt("请输入学号"), yw = parseInt(prompt("语文成绩")), sx = parseInt(prompt("数学成绩")), yy = parseInt(prompt("英语成绩")); //学号和成绩赋值给数组 arr[i] = [xh,yw,sx,yy] } //循环计算每个人的总分 平均分 for(var i = 0; i < arr.length; i ++){ //学号 var xh = arr[i][0], //总分 zf = arr[i][1]+arr[i][2]+arr[i][3], //平均分 pfj = zf/3; newarr = [xh,zf,pjf]; } //控制台输出学号总分平均分 console.log(newarr);
for-in 遍历
for(var i in arr){
arr[i];
}
将数组内的元素全部走一遍。
注意事项:
定义数据的时候注意他的数据类型,若为字符串定义为a = " "; 若为数字定义为a = 0; 若直接定义为a;下面的运算会出现问题。