ES6中新的数组循环方法forEach|地图|过滤器|一些()|每个()|减少()|减少权利()|对于…的…forEacharr.forEach(函数(val,index,arr){console.log(this,val,index,arr)},123);//换个重点,这个是什么数据类型,这个是需要三个参数第一个参数:循环出来的值val第二个参数:循环出来的值值index的索引第三个参数:the数组本身arrmapletarr=[{title:'aaaa',read:100,hot:true},{title:'bbbb',read:100,hot:true},{title:'cccc',read:100,hot:true},{title:'dddd',read:100,hot:true}];letnewArr=arr.map((val,index,arr)=>{console.log(val,index,arr);返回"returnvalue";//map必须有返回值,否则相当于forEach})map()需要有返回值,如果没有返回值,相当于和forEachfilter使用的同一行过滤掉一些不符合条件的,如果回调函数返回true,那么自然会保留下来,false的会被过滤掉。前端培训vararr=[{title:'侯耀华有多“讨厌”郭德纲?听听这段',read:50,hot:true},{title:'赵家班爆笑小品《镶牙》:宋小宝演',read:100,hot:true},{title:'精彩最后10seconds,猎豹队一哥',read:20,hot:false},{title:'赵本山在李双江等人来找他的时候自爆了,他',read:5,hot:true}]letnewArr=arr.filter((val,index,arr)=>{returnval.hot==true;})提取符合条件的元素一些,判断字符串是否存在,返回布尔值letarr=[“苹果”,“香蕉”,“橙子”];令b=arr.some((val,index,arr)=>{returnval=="banana";})console.log(b?"banana":"nobanana")every查找数组中的每一项,所有元素All返回truelet前必须满足条件arr=[1,3,5,7,9];varb=arr.every((val,index,arr)=>{returnval%2==1;});console.log(b)//true判断数组中的每一项是否为奇数reduce()从左到右操作→求数组的和、差、积、阶乘并返回一个数letarr=[1,2,3,4,5,6,7,8,9,10];letres=arr.reduce((prev,curr,index,arr)=>{returnprev+curr;})console.log(res)first第一个参数表示上一项第二个参数表示当前项第三个参数表示循环对应的索引第四个参数表示数组本身reduceRight从右到左计算letarr=[2,3,3];letres=arr.reduceRight((prev,curr,index,arr)=>{returnprev-curr;})console.log(res)for…of…arr.keys()arraysubscriptarr.entries()数组中某一项的输出数组中每一项的值letarr=["apple","banana","tomato"];console.log("遍历值");for(letvalofarr){console.log(val);}输出数组中每一项对应的索引for(letindexofarr.keys()){console.log(index);//arr.keys()遍历索引}输出数组中每一项的值和索引for(letitemofarr.entries()){console.log(item);}
