ES5数组的高阶方法
- forEach() 遍历
- map() 映射
- filter() 过滤
回调函数如果返回true,保留当前元素,如果返回false,当前元素被删除 - reduce() 累计
var arr = [1,2,3]
arr.reduce(function(a,b){
return a+b
}) //返回6
- some() 有一个
目标判断,判断数组中有没有符合条件的元素,只要有一个满足条件就返回true - every() 每一个
判断数组中每个元素是否都满足条件,如果有一个不满足就返回false,都满足才返回true - sort() 排序
var arr = [5,8,3]
arr.sort(function(){
return a-b //从小到大排序 (b-a)从大到小排序
})
箭头函数
箭头函数的写法
var name = n =>alert()
//声明一个名为name的函数
//函数的参数为n 函数执行的语句为alert()
箭头函数注意事项
- 如果传入的参数不是一个而是多个,那么参数用()包裹
var name = (a,b)=>a+b
- 如果有多条执行语句,执行语句用{}包裹
var name = n=>{
//执行语句一
//执行语句二
//如果需要返回值,就需要写 return 返回值
}
- 如果返回的是对象
var name = n =>({对象})
- 箭头函数中的this指向
箭头函数的this的指向为上一层作用域中的this
函数的默认/不定/拓展参数
- 默认参数
function arr(a,b=10){
alert(a+b)
}
arr(5,6) //返回11
arr(5) //返回15
- 指定参数
function arr(...tex){
(a,b)=>a+b
}
arr(1,2) //返回3
arr(1,2,3) //返回6
- 拓展参数
var arr=[15,20,30,31,89,120,33]
function text(a,b,c,d){
console.log(a,b,c,d)
}
text(...arrr) //返回数组15,20,30,31
数组新增方法
- fill() 填充 //arr.fill(‘填充的元素’,要填充的起始位置,要填充的结束位置)
- copywithin() //copywithin(替换开始的位置,拷贝起始的位置,拷贝的长度)
- includes()//查找元素。如果有返回true,如果没有返回false
- find()//arr.find(item=>item>10) //如果没有返回underfined 如果有返回满足条件的第一个元素
- findindex()//arr.findIndex(item=>item>10) //如果有返回满足条件的第一个索引值 如果没有返回-1