箭头函数
语法
类型 函数名 = (参数) => {函数块}
let fn
var
const
example
let fn = (num1,num2)=>{
return num1+num2;
}
一个参数时可不写参数括号
一个返回值时可不写花括号
example
let fn = num => num*2; // 执行fn函数 传入值乘2
默认参数
例
let fn = (a,b=8,c=9,...args)=>{
alert(a)
alert(b)
alert(c)
let arr = [...args]; //可将...args直接放入数组,但不可直接赋值
alert(arr)
}
fn(123,1,2,444,555,666); //不传b,c默认值为8,9 传入则为参数值,args只能定义为最后一个,接受剩下所有参数
解构赋值
例
let [json,num,str] = [{name:'choco'},18,"xixi"];
console.log(`json为${json} num为${num} str为${str}`)
左右必须一一对应
右边必须是值
reduce汇总
多个数 返回一个数
// let score = [50,60,99,100];
let result = score.reduce((tmp,item,index)=>{ //tmp临时变量 item为循环的元素 index为迭代次数
if(index!=score.length-1){ //判断是否循环到最后一次
return tmp+item; //不是则相加
}else{
return (tmp+item)/score.length; //最后一次时求其平均数
}
})
filter 过滤
根据规则 留一部分 剩一部分
let arr = [
{
name:'choco',age:18
},
{
name:'zdd',age:28
},
{
name:'xixi',age:38
},
{
name:'xixi2',age:58
},
]
let result = arr.filter(json=>json.age>=30);
console.log(result) //输出arr中所有年纪大于30的json元素
foreach 迭代
let arr = [2,3,5];
arr.forEach((item,index) => { //注意箭头函数与函数体括号的问题箭
alert(index+ ":" + item) //箭头函数在foreach里面
})