数组对象
创建数组的两种方式
-
字面量方式
-
示例代码如下:
var arr = [1,"test",true];
-
-
new Array()
-
示例代码如下:
var arr = new Array();
注意:上面代码中arr创建出的是一个空数组,如果需要使用构造函数Array创建非空数组,可以在创建数组时传入参数
参数传递规则如下:
-
如果只传入一个参数,则参数规定了数组的长度
-
如果传入了多个参数,则参数称为数组的元素
-
-
检测是否为数组
-
instanceof 运算符
-
instanceof 可以判断一个对象是否是某个构造函数的实例
var arr = [1, 23]; var obj = {}; console.log(arr instanceof Array); // true console.log(obj instanceof Array); // false
-
-
Array.isArray()
-
Array.isArray()用于判断一个对象是否为数组,isArray() 是 HTML5 中提供的方法
var arr = [1, 23]; var obj = {}; console.log(Array.isArray(arr)); // true console.log(Array.isArray(obj)); // false
-
添加删除数组元素的方法
- 数组中有进行增加、删除元素的方法,部分方法如下表
方法名 | 说明 | 返回值 |
---|---|---|
push(参数1…) | 末尾添加一个或多个元素,注意修改原数组 | 返回新的长度 |
pop() | 删除数组中最后一个元素 | 返回删除元素的值 |
unshift(参数1…) | 数组开头添加一个或多个元素,注意修改原数组 | 返回新的长度 |
shift() | 删除数组中第一个元素 | 返回第一个元素 |
注意:push、unshift为增加元素方法;pop、shift为删除元素的方法
数组排序
- 数组中有对数组本身排序的方法,部分方法如下表
方法名 | 说明 | 是否修改原数组 |
---|---|---|
reverse() | 颠倒数组的顺序 | 改变原来数组返回新数组 |
sort() | 对数组元素排序 | 改变原来数组返回新数组 |
注意:sort方法需要传入参数来设置升序、降序排序
- 如果传入“function(a,b){ return a-b;}”,则为升序
- 如果传入“function(a,b){ return b-a;}”,则为降序
数组索引方法
- 数组中有获取数组指定元素索引值的方法,部分方法如下表
方法名 | 说明 | 返回值 |
---|---|---|
indexOf() | 数组查找给定元素的第一个索引 | 存在返回索引,不存在返回-1 |
lastIndexOf() | 数组中最后一个索引 | 存在返回索引,不存在返回-1 |
数组转换为字符串
- 数组中有把数组转化为字符串的方法,部分方法如下表
方法名 | 说明 | 返回值 |
---|---|---|
toString() | 数组转化为字符串,逗号分隔每一项 | 返回一个字符串 |
join(‘分隔符’) | 把数组中所有元素转化为字符串 | 返回一个字符串 |
注意:join方法如果不传入参数,则按照 “ , ”拼接元素
其他方法
- 数组中还有其他操作方法
方法名 | 说明 | 返回值 |
---|---|---|
concat() | 链接两个或多个数组 | 返回一个新数组 |
splice() | 删除数组splice(第几个开始,要删除个数) | 返回被删除项目的新数组,会影响原数组 |
slice() | 数组截取slice(begin,end) | 返回被截取项目的新数组 |