数组常用方法
1、push
- 数组结尾添加值,返回新数组长度,原数组改变
let arr = []
arr.push(1,5,[2,3])
// 返回值 3, arr = [1,5,[2,3]]
实现方法
Array.prototype.newPush = function(){
for(var i = 0;i < arguments.length; i++) {
this[this.length] = arguments[i]
}
return this.length
}
2、pop
- 从数组的最后去除掉一个元素, 返回被去除的那个元素,原数组改变
let arr = [1,2]
arr.pop()
// 返回值 2, arr = [1]
实现方法
Array.prototype.newPop = function(){
let delval = this[this.length-1]
this.length--
return delval
}
3、unshift
- 往数组前面加,返回添加后数组的长度,原数组改变
let arr = [1,2]
a.unshift(3,{})
// 返回值 4, arr = [3, {}, 1, 2]
实现方法
- 参考push
4、shift
- 从数组前面去掉一个元素,返回去掉的值,原数组改变
let arr = [1,2]
a.shift()
// 返回值 1, arr = [2]
实现方法
- 参考pop
5、reverse
- 翻转数组中的元素,原数组改变
let arr = [1,2]
a.reverse()
// 返回值 [2,1], arr = [2,1]
实现方法
- 待完善
6、sort
- 数组排序,默认升序排序,原数组改变
let arr = [4,7,3,2]
a.reverse()
// 返回值 [2, 3, 4, 7], arr = [2, 3, 4, 7]
a.sort(function(a,b){ return a-b }) // 升序排序
a.sort(function(a,b){ return b-a }) // 降序排序
实现方法
- 待完善
7、splice
- 删除数组中从某一位置开始的某几个元素,并且在删除的位置添加指定的元素,返回被截取的元素数组
let arr = [3, 9, 7]
a.splice(1,1,12,3,4)
// 返回值 [9], arr = [3, 12, 3, 4, 7]
实现方法
- 待完善
8、slice
- 截取数组中某位置(包含)到某位置(不包含)的一段数字,返回截取的数组,原数组不改变
- 接收负数参数,表示倒着数
- 只传一个参数,表示从那个位置开始一直到结束
let arr = [3, 9, 7]
a.slice(1,2)
// 返回值 [9], arr = [3, 9, 7]
实现方法
- 待完善
9、slice
- 截取数组中某位置(包含)到某位置(不包含)的一段数字,返回截取的数组,原数组不改变
- 接收负数参数,表示倒着数
- 只传一个参数,表示从那个位置开始一直到结束
let arr = [3, 9, 7]
a.slice(1,2)
// 返回值 [9], arr = [3, 9, 7]
实现方法
- 待完善
10、filter
- 返回值满足条件的数组,原数组不变
let arr = [1,2,3,4]
a.fliter((v)=>{ return v > 2 })
// 返回值 [3,4], arr = [1,2,3,4]
实现方法
Array.prototype.newFilter = function(fn){
let newArr = []
for(let i = 0; i < this.length; i++) {
if(fn(this[i])) {
newArr.push(this[i])
}
}
return newArr
}
11、filter
- 返回值满足条件的数组,原数组不变
let arr = [1,2,3,4]
a.fliter((v)=>{ return v > 2 })
// 返回值 [3,4], arr = [1,2,3,4]
实现方法
Array.prototype.newFilter = function(fn){
let newArr = []
for(let i = 0; i < this.length; i++) {
if(fn(this[i])) {
newArr.push(this[i])
}
}
return newArr
}
12、every
- 测试数组中每一项是否都满足一个指定条件,都满足的话,返回true,给定数组为空数组的话,也返回true
13、reduce
- 根据指定值,可以通过循环数组对每个值进行处理,并拿到处理结果。
实现方法
reduce实现map
持续更新中...