一.数组的概念
数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
二.数组的创建方式
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;//修改数组长度为5
console.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);