0. 目标
1. 数组的概念
什么是数组
数组(Array)是指一组数据的集合,其中每个数据被称作元素,在数组中可以存放任何类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
数组可以把一组相关的数组存放再一起。
2. 创建数组
2.1 数组的创建方式
- 利用new创建
- 利用数组字面量创建数组
2.2 利用new创建数组
var arr = new Array(); // 创建一个空的数组
2.3 利用数组字面创建数组
// 创建一个空数组
var arr = [];
// 创建一个含有元素的数组
var arr = ['dylan', 18, 'man', true];
// 数组里面的数据一定要用,分割
2.4 数组元素的类型
数组元素的类型可以任意类型的数据
3. 访问数组元素
3.1 数组的索引
索引(下标):用来访问数组元素的序号从0开始
数组长度是元素个数
arr[0]、arr[2]、arr[3]等
访问就是获取得到的意思
var arrS = [1, 2, 3]
arrS[1] // 2
arrS[0] // 1
4. 遍历数组
将数组中的每一个元素都访问依次
var arr = [1,2,3,4....];
for(var i = 0; i <= arr.length - 1; i++){
arr[i];
}
// 1,2,3,4....
5.数组长度
arr.length; 类似于字符串长度
这样动态获取数组的元素个数
练习
var sum = 0, average = 0, arr = [1, 2, 3,...];
for(var i = 0; i<=arr.length-1; i++){
sum += arr[i];
}
average = sum / arr.length;
console.log(sum, average);
// 求出数组中的最大值 第一种放方法
var max = arr[0];
for(var i = 1; i < arr.length; i++){
if (max < arr[i]){
max = arr[i];
}
}
console.log(max);
// 第二种方法的思路:先排序,最大的是最后一个元素
6. 数组中新增元素
6.1 修改length长度增加新元素
// 第一种方法:修改length
var arr = ['red', 'green', 'blue'];
arr.length = 5; // 将数组的长度修改成为5,没有给值的元素是Udefined
// 第二种方法:修改索引号,追加数组元素
arr[3] = 'pink';
arr[1] = 'yellow'; // 会替换原来的元素
arr = '有点意思'; // 不能给数组名赋值,否则会被替换到原来数据
6.2 筛选数组元素
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
// newArr.length 刚开始就是0
for (var i = 0; i < arr.length; i++){
if (arr[i] >= 10){
//新数组索引号从0开始,依次递增
newArr[newArr.length] = arr[i];
}
}
7. 数组案例
7.1 删除制定数组元素
// 去掉原来数组中的 0
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] != 0){
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
翻转数组
7.2 冒泡排序
- 什么是冒泡排序
冒泡排序是一种排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是该数列已经排序完成。
- 当数组个数为5时,一共比了四趟,每一趟比的次数比上一趟少一次
- 利用一个临时值来交换值
- 5 4 3 2 1
- 4 5 3 2 1
- 4 3 5 2 1
- 4 3 2 5 1
- 4 3 2 1 5
- 4 3 2 1 5
- 3 4 2 1 5
- 3 2 4 1 5
- 3 2 1 4 5
- 3 2 1 4 5
- 2 3 1 4 5
- 2 1 3 4 5
- 2 1 3 4 5
- 1 2 3 4 5
思路
// 确定排序的趟数 // 确定比较次数 // 交换两个变量值