数组是值的有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。
JavaScript 数组是无类型的,也就意味着任何类型都可以放进数组,可以有一种类型,也可以有多种类型
数组方法
- push() 和 pop()
允许将数组当做栈一样来使用,两个方法都修改并替换原数组而非生成一个修改后的新数组。
push()
描述:向数组末尾添加一个或多个元素
参数:至少一个元素
返回:添加元素后的数组大小
注意:修改原数组,并返回新的数组长度,不产生新数组
pop()
描述:删除数组最后一个元素
参数:无,但是输入参数也不报错
返回:最后一个元素
注意:修改原数组,不产生新数组。如数组已空,则不改变数组,并返回 undefined
- unshift() 和 shift()
在数组的前面进行添加和删除操作
unshift()
描述:在数组头部添加一个或多个元素
参数:至少一个元素
返回:返回新长度
注意:修改原数组,不产生新数组。
shift()
描述:删除数组头部第一个元素
参数:无
返回:删除的第一个元素
注意:修改原数组,不产生新数组。
- slice()
对应 String 的sunstring()
版本,它截取Array
的部分元素,然后返回一个新数组
slice(start,end)
描述:截取数组的部分元素
参数:start 必须,规定从何处开始。如果是负数,则从数组尾部开始算起,-1 指最后一个,-2 指倒数第二个,依次类推。
end:可选,规定从何处结束选取。
返回:返回新数组
注意:不改变原数组,返回截取后的新数组
- splice()
可以从指定的索引开始删除若干个元素,然后再从该位置添加若干个元素
splice(index,num,item1,item2,....,item3)
描述:向数组中添加或删除元素,然后返回被删除的项目
参数:index,必须。整数,添加/删除元素的位置,使用负数可从数组尾部开始
num,必须,要删除元素的个数,如果设置为 0,则不会删除元素
item1,...,itemx,可选,向数组添加的元素
返回:返回添加或删除元素后的数组
注意:该方法会改变原数组
- join() 方法
将数组中的所有元素都转化为字符串并连接在一起,返回最后生成的字符串
join()
描述:将数组中的所有元素都转化为字符串并连接在一起,返回最后生成的字符串
参数:可选分隔符,如果不指定,默认使用逗号。
返回:返回最后生成的字符串
注意:不改变原数组
- reverse()
将数组中的元素颠倒顺序,返回逆序的数组
reverse()
描述:将数组中的元素颠倒顺序,返回逆序的数组
参数:无
返回:返回颠倒顺序后的数组
注意:改变原数组
- sort()
将数组中的元素排序并返回排序后的数组
sort()
描述:将数组中的元素排序并返回排序后的数组
参数:可选,必须是函数。当不带参数时,默认按字典顺序排序。如包含 undefined,排到数组末尾。
返回:排序后的数组
注意:改变原数组
- concat()
创建并返回一个新数组,元素包括调用该方法的原数组和 concat() 的每个参数
concat()
描述:如果这些参数中的任何一个自身是数组,则连接的是数组的元素而非数组本身
参数:数组,必须,可以是具体的值,也可以是数组对象,可以任意多个
返回:不改变原数组,返回连接后的数组
注意:不改变原数组
- indexOf() 和 lastIndexOf()
indexOf(item,start)
描述:搜索整个数组中具有给定值的元素,从头部开始查找。
参数:item,必须,item,要查找的元素。start,开始查找的位置,可选
返回:有元素就返回该元素的索引,如果没有则返回 -1
注意:不改变原数组
lastIndexOf(item,start)
描述:搜索整个数组中具有给定值的元素,从尾部开始查找。
参数:item,必须,item,要查找的元素。start,开始查找的位置,可选
返回:有元素就返回该元素的索引,如果没有则返回 -1
注意:不改变原数组