一.数组的概念
数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
二.数组的创建方式
1.利用new创建数组
// new创建数组var arr = new Array();
2.利用数组字面量创建数组(常用)
// 数组字面量var arr= [1,2,'hello',true];
三.数组的索引
索引(下标):用来访问数组元素的序号,数组下标从0开始。
// 获取数组内某个元素var arr= [1,2,'hello',true];alert(arr[0]);
四.遍历数组
所谓遍历数组就是把数组的元素从头到尾访问一遍
// 遍历数组var arr = ['red','green','blue'];for(var i=0; i<3; i++){console.log(arr[i]);}
五.数组长度
使用“数组名.length”可以访问数组元素的数量,即数组的长度。
// 数组的长度var arr = ['关羽','张飞','马超','赵云','黄忠','刘备','姜维'];for(var i=0; i<arr.length; i++){console.log(arr[i]);}console.log(arr.length);
六.新增数组元素
1.可以通过修改length长度来实现数组扩容目的
// 新增数组元素var arr = ['red','green','blue'];arr.length = 5;//修改数组长度为5console.log(str);
2.通过修改数组索引新增数组元素
var arr = ['red','green','blue'];arr[3] = 'pink';//追加数组元素console.log(arr);
七.数组冒泡排序
冒泡排序是一种算法,它重复地走访过要排序的数列,一次比较两个元素,如果顺序错误就把它们交换过来。走访数列的工作是重复地进行,直到没有再需要交换,也就是说该数列已经排序完成。
简而言之,就是把一系列数据按照一定的顺序进行排列显示(从小到大或者从大到小)。
例如:可以将数组[5,4,3,2,1]中的元素按照从小到大的顺序输出为1,2,3,4,5
// 数组冒泡排序var arr = [5,4,3,2,1];for(var i=0; i<arr.length-1; i++){for(var j=0; j<arr.length-i-1; j++){if(arr[j]>arr[j+1]){var temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}console.log(arr);
八.数组综合案例
// 求数组[2,6,1,7,4]里面所有元素的和及平均值var sum = 0;var average =0;var arr = [2,6,1,7,4];for(var i=0; i<arr.length; i++){sum += arr[i];}average = sum/arr.length;console.log(sum,average);
// 求数组中的最大值var arr = [2,6,1,77,52,25,7];var max = arr[0];for(var i=1; i<arr.length; i++){if(arr[i]>max){max = arr[i];}}console.log(max);
//将数组转化为字符串var arr = ['red','blue','green','pink'];var str = '';for(var i=0; i<arr.length; i++){str += arr[i]+'|';}console.log(str);
// 向数组存放1-10的数值var arr = [];for(var i=0; i<10; i++){arr[i] = i+1;}console.log(arr);
// 筛选下面数组中大于等于10的元素,并放入一个新数组//第一种方法var arr = [2,0,6,1,77,0,52,0,25,7];var newArr = [];var j = 0;for(var i=0; i<arr.length; i++){if(arr[i]>=10){newArr[j] = arr[i];j++;}}console.log(newArr);//第二种方法var arr = [2,0,6,1,77,0,52,0,25,7];var newArr = [];for(var i=0; i<arr.length; i++){if(arr[i]>=10){newArr[newArr.length] = arr[i];}}console.log(newArr);
// 翻转数组var arr = ['red','green','blue','pink','purple'];var newArr = [];for(var i= arr.length-1; i>=0; i--){newArr[newArr.length] = arr[i];}console.log(newArr);
