一、数组方法
1)concat
该方法用于连接两个或多个数组,返回连接成的新数组的副本,不会改变现有数组
[1,2,3].concat(5,6);//返回[1,2,3,5,6]
2)join
用于把数组的所有成员拼接成一个字符串,元素是通过指定的分隔符进行分隔的,参数为分隔符
[1,2,3].join("+")//返回1+2+3
3)pop
删除并返回数组的最后一个元素
4) push
向数组的末尾添加一个或者多个元素,并返回新的长度
[1,2,3].push(4,5)//新数组[1,2,3,4,5] 返回值5
6) reverse
用于颠倒数组中元素的顺序,返回跳到顺序后的数组,该方法会改变原来的数组,不会产生新的数组
[1,2,3].reverse()//返回 [3,2,1]
7) shift
删除并返回数组第一个元素
8) slice
从已有的数组中返回选定的元素
slice(star,end) 第一个参数为起始位置,第二个为结尾位置,无end参数的话则选中至数组结尾
该方法不会改变原来的数组 而会返回一个子数组,可以使用负值从数组的尾部选取元素
9) splice
该方法从数组中添加/删除项目,并返回被删除的项目,该方法会改变原始数组
arrayObject.splice(index,haomany,item1...itexmX)
参数index 必需,规定删除/添加项目的位置,使用负数则从数组结尾处规定位置
参数haomany 必需,要删除的项目数量,为0则不删除项目
参数item1....itemX 可选,向数组中添加的新项目
[1,2,3,4,5].splice(1,3,"hello")//返回[1,"hello",5]
10) sort
对数组元素进行排序
arrayObject.sort(sortby) 参数sortby规定排序顺序,必需为函数
返回值 对数组的引用 不会生成新数组 而是在原数组上进行排序
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,
sortby比较函数 function(a,b) { return a - b } 返回值如下
- 若 a 小于 b,,则返回一个小于 0 的值,在排序后的数组中 a 应该出现在 b 之前
- 若 a 等于 b,则返回 0。a、b顺序不变
- 若 a 大于 b,则返回一个大于 0 的值。a在b之后
[1,10,2,100,30].sort()//返回[1,10,100,2,30] 未传排序参数 按照首字符编码进行排序
[1,10,2,100,30].sort(function(a,b) { return a - b }) // 传排序函数 升序 返回[1,2,10,30,100]
[1,10,2,100,30].sort(function(a,b) { return b - a }) // 传排序函数 降序 返回[100,30,10,2,1]
11) toSource
表示对象的源代码,数组 对象均支持,不常用,通常javascript后台调用 不显式的出现在代码中,只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。
12) toString 把数组转化成字符串,并返回该字符串,不改变原数组
[1,2,3].toString()//返回1,2,3
13) toLocaleString 把数组转化成本低字符串并返回结果,首先调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
14)unshift
向数组开头添加一个或多个项目,并返回数组新的长度
[1,2,3].unshift(4,5) //数组变为[4,5,1,2,3] 返回值5
15)valueOf()
返回 Array 对象的原始值。
该原始值由 Array 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。