JS的数组的方法有很多,先介绍几个基本的方法:
注解:1.散数是指多个单个的元素(包含数字、字符串等,为了区别于数组),不是数组。如果有参数可用散数的方法,若想将数组作为参数,可使用apply方法
2.参数中括号的内容:可选是可不写的参数(有默认值),不含是返回值不包含该位置元素
3.结果只在我函数中加了参数的情况下才有,否则为无。而且只是给出数组变化结果,并不一定是方法的返回值
4.为了简短起见,下文会使用js中的一些类型名称的缩写: arguments -> args argument -> arg (单一参数使用这个,方便看而已)
5.举例使用的原数组为[1,2,3,45]
首先是几个最基本的方法,只对数组的头尾进行操作的方法:
函数 作用 参数 返回值 改变原数组 结果
- shift() 删除并返回第一个number 无 删除值 是 无
- pop() 删除并返回最后一个number 无 删除值 是 无
- unshift(3,4) 数组前加入args 散数(可选) 数组长度 是 [3,4,1,2,3,45]
- push(3,4) 数组后加入args 散数(可选) 数组长度 是 [1,2,3,45,3,4]
——前两个为删除数组元素的,只能删除一个,传参数是没有作用的,不报错;
——后两个为添加数组元素的,可以添加多个,添加规则如表中结果所示
函数 作用 参数 返回值 改变原数组 结果
- concat() 返回原数组、参数合并成的新array 散数,array(多参) 新array 否 无
- join(".") 返回数组间插入arg的新string array 新string 否 "1.2.3.45"
- slice() 返回截取的新array 1.开始位置*2.结束位置(不含.可选) 新array 否 无
- splice(1,1,4) 删除/添加 1.开始位置*2. 删除数量*3.散数(可选) 删除掉的array 是 [1,4,3,45]
- reverse() 返回完全颠倒的array 无 颠倒后的array 是 [45,3,2,1]
- sort() 返回排序后的array function(返回值:bool) 排序后的array 是 无
——join一般用于将数组转化为字符串
——slice因为返回新的数组,一般可用于深拷贝一个数组,使用为arr.slice()或者arr.slice(0)都可以(关于深拷贝、浅拷贝的问题自行查询一下,是个重要的知识点)
——sort方法可以用于实现一个数组的随机排序,结合Math.random一起使用
arr.sort( function(a,b){
return Math.random() > 0.5
});