一、概念
什么是数组?
数组可以保存大批量的数据
数组是js内置对象 Array
一般使用instanceof来检测引用类型(对象类型) 结果为 true或者false
-
创建数组?
new Array() 定义一个空数组
new Array(item,item,item…); 定义数组同时即初始化
new Array(length) 定义数组同时,指定数组长度
[] 代表数组 -
数组的常见属性和方法
属性:
length 数组中元素的个数 -
数组的常见特性
索引:数组中每一个元素都有一个下标索引 索引从0开始
给数组赋值: 数组名[索引]=值;
取出数组的内容:数组名[索引]
“两个不限制”:JavaScript中数组不限制长度和数据类型
数组中的每个元素可以看作为 每个定义的变量 -
数组的遍历
1)使用for循环
2)使用for…in
注意:for…in中索引是字符串类型
二、数组对象的方法
- 栈方法(先进后出)
push() 压栈 向数组末尾添加元素 支持多参
pop() 出栈 删除数组的尾部元素 - 队列(先进先出)
push 进队 向尾部添加元素
shift() 出队 删除数组头部元素
unshift() 在数组头部添加元素 支持多参
- 增加、删除、替换元素
splice()
- splice(index,howmany) 从index位置开始,删除 howmany个元素
参数说明: index 索引 howmany 个数 - splice(index,howmany,item,item…) 从index开始,先删除howmany个元素,再添加元素
若删除的元素个数与新增的元素个数相同,就是替换功能
- 排序 sort
- sort方法可以对数组元素进行排序,按照字符串进行排序(ASCII码),升序
- sort方法可以接收一个函数作为参数,作为参数的函数可以接收两个数据作为参数
sort(function(a,b){})
解释:
作为参数的函数是一个比较函数
a,b代表数组中相邻的两个元素,若想实现升序效果,需要
升序:
sort(function(a,b){
return a-b;//升序
//return b-a;//降序
})
中文排序:
//按照姓名排序 中文排序
arr.sort(function (a, b) {
return a.name.localeCompare(b