我今天抽空来总结了一下数组的方法,因为确实太经常使用了,有时候记不清楚,总是要回去翻文档,干脆整理一下方便记忆和使用。希望也多少能帮助到大家。
-
向数组后面追加元素 push()
会改变原数组,带回的返回值是数组的新长度 -
向数组前面插入元素 unshift()
会改变原数组,带回的返回值是数组的新长度,IE6.7不支持他的返回值 -
删除数组的最后一项 pop()
会改变原数组,写一个删除最后一项,写两个删除最后两项,返回值为被删除的元素 -
删除数组的第一项 shift()
会改变原数组,写一个删除第一项,写两个删除前两项,返回值为被删除的元素
unshift( pop() ) // 将删除的最后一项插入到数组最前面,写几次执行几次
arr.push( shift() ) // 将删除的第一项插入到数组最后面,写几次执行几次 -
指定的位置删除 指定的个数
splice( ) ;//返回值为被删除的元素时,只有删除的返回值
splice(startIndex[,length]) 不指定删除的个数,默认删除到最后
startIndex的范围在 0- length-1之间
特点是会改变原数组 -
指定插入的位置以及替换元素
指定插入的位置:splice(startIndex,0[,插入的内容,插入的内容,插入的内容,....])
替换元素: splice(startIndex,length,[,替换的内容,替换的内容....]) -
截取指定开始位置和结束位置的值
slice(start[,end]) 不包含结束位置
接收负数参数(同字符串的方法)
特点是不改变原数组 -
通过连接符把数组转换成字符串
join(连接符)
9.翻转数组 reverse()
翻转字符串
链式操作
var newStr = str.split('').reverse().join('')
10.对数组进行排序
sort()
默认从小到大排序,默认是以字符串的编码来排序的,而不是按照数字大小
会改变原数组
在排序的时候,是从大到小排序,拿到数组中的两个值,
如果前一个值大于后一个值,不交换位置;如果前一个值小于后一个值,交换位置。
内置对象Math
这个对象下的方法处理数值相关的,处理三角函数
转成整数:Math.floor()
1. 忽略小数点 parseInt()
2. 向上取整 大于这个小数最近的整数 Math.ceil()
3. 向下取整 小于这个小数最近的整数 Math.floor()
4. 四舍五入 Math.round()
转成随机数:Math.random()
范围在 0 - 1之间 不包含1的
0 - 0.9999999999
11.遍历数组的方法
arr.forEach(function(item,index){}) item代表数组中的每一个值,
index是每个值的下标, 返回值是undefined
foreach(数据类型 标识符 in 表达式)
{
循环体2
}
arr.map(function(item,index){}) map的返回值是一个数组,
数组的个数和原数组相同,返回的数组的值,是传进去的回调函数的返回值
arr.filter(function(item,index){})
filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。
以上方法都可以遍历数组
网友评论