目录
一、数组的概念
所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。
二、数组的定义
数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。
三、数组的创建
1、使用Array构造函数
var fruits = new Array()
2、字面量创建数组方式
字面量(直接量)创建数组方式是最简单的方式,只需要直接使用 []
并在括号中设置数组元素即可
// 创建一个空数组
var arr1 = [];
// 创建一个包含3个数值的数组,多个数组项以逗号隔开
var arr2 = [1, 3, 4];
// 创建一个包含2个字符串的数组
var arr3 = ['a', 'c'];
// 可以通过数组的length属性获取数组的长度
console.log(arr3.length);
// 可以设置length属性改变数组中元素的个数
arr3.length = 0;
3、使用构造函数创建
使用构造函数Array 是创建数组的第二种方式,在构造函数中传入要保存的元素。调用构造函数的时候可以有多种方式
语法: new Array()
、new Array(lenght)
、new Array(ele1,ele2,.....)
// 创建一个空数组
var arr1 = new Array()
// 创建一个长度为 10 的数组
var arr2 = new Array(10)
// 创建一个有内容的数组
var arr3 = new Array(1, 2, 3)
四、获取数组元素
数组的取值
// 格式:数组名[下标] 下标又称索引
// 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined。
var arr = ['red', 'green', 'blue'];
arr[0]; // red
arr[2]; // blue
arr[3]; // 这个数组的最大下标为2,因此返回undefined
五、遍历数组
遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。
数组遍历的基本语法:
for(var i = 0; i < arr.length; i++) {
// 数组遍历的固定结构
}
六、数组中新增元素
数组的赋值
// 格式:数组名[下标/索引] = 值;
// 如果下标有对应的值,会把原来的值覆盖,如果下标不存在,会给数组新增一个元素。
var arr = ["red", "green", "blue"];
// 把red替换成了yellow
arr[0] = "yellow";
// 给数组新增加了一个blue的值
arr[3] = "blue";
七、数组的索引
- 索引(下标),是指一个数据在数组里面排行在第几的位置
- 注意:在所有的语言里面,索引都是从0开始的
- 在js里面也是一样的,数组的索引从0 开始
//创建一个数组 var arr = ['hello','world'];
- 上面这个数组中,第 0 个 数据就是字符串
hello
,第 1 个 数据就是字符串world
- 想获取数组中的第几个就使用
数组[索引]
来获取var arr = ['hello', 'world'] console.log(arr[0]) // hello console.log(arr[1]) // world
八、数组常用的方法
1、push
方法
push
是用来在数组的末尾添加一个元素的
var arr = [1, 2, 3]
// 使用 push 方法追加一个元素在末尾
arr.push(4)
console.log(arr) // [1, 2, 3, 4]
2、pop
方法
pop
是用来删除数组末尾的一个元素
var arr = [1, 2, 3]
// 使用 pop 方法删除末尾的一个元素
arr.pop()
console.log(arr) // [1, 2]
3、unshift
方法
unshift
是在数组的最前面添加一个元素
var arr = [1, 2, 3]
// 使用 unshift 方法想数组的最前面添加一个元素
arr.unshift(4)
console.log(arr) // [4, 1, 2, 3]
4、shift
方法
shift
方法是删除数组最前面的一个元素
var arr = [1, 2, 3]
// 使用 shift 方法删除数组最前面的一个元素
arr.shift()
console.log(arr) // [2, 3]
5、splice
方法
splice
是截取数组中某些内容,按照数组的索引来截取
语法:arr.splice(start,deleteNum,insert);
插入元素到数组指定的位置
第一个参数 start 从哪里开始
第二个参数 delNum 删除元素的个数
第三个参数 insert 插入的新元素
1.只写一个参数 会从指定开始的位置开始删除直到数组的末尾 以数组的形式返回删除的元素
2.写两个参数 会从指定的位置 删除指定个数的元素 并以数组的形式返回
3.写三个参数 从指定位置开始 删除指定的元素,并将新元素从指定开始的位置添加 返回删除的元素
var arr = [1, 2, 3, 4, 5]
// 使用 splice 方法截取数组
arr.splice(1, 2)
console.log(arr) // [1, 4, 5]
var arr = [1, 2, 3, 4, 5] // 使用 splice 方法截取数组 arr.splice(1, 2, '我是新内容') console.log(arr) // [1, '我是新内容', 4, 5]
arr.splice(1, 2)
表示从索引 1 开始截取 2 个内容第三个参数没有写,就是没有新内容替换掉截取位置
arr.splice(1, 2, ‘我是新内容’)` 表示从索引 1 开始截取 2 个内容
然后用第三个参数把截取完空出来的位置填充
6、reverse
方法
reverse
是用来反转数组的。反转元素(最前的排到最后、最后的排到最前),返回数组地址
var arr = [1, 2, 3]
// 使用 reverse 方法来反转数组
arr.reverse()
console.log(arr) // [3, 2, 1]
7、 sort
方法
sort
方法是用来给数组排序的
var arr = [2, 3, 1]
// 使用 sort 方法给数组排序
arr.sort()
console.log(arr) // [1, 2, 3]
练习案例
求一组数中的所有数的和和平均值
求一组数中的最大值和最小值,以及所在位置
将字符串数组用|或其他符号分割
要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
翻转数组
冒泡排序,从小到大