前端不算es6,就有八种循环,你用过几种.

let arr = [{title:'aaaa',read:1000,hot:true},           
		  {title:'bbbb',read:300,hot:false},          
		  {title:'cccc',read:2000,hot:true},           
		  {title:'dddd',read:1900,hot:false}    
		  ];


// 第一种for
		for(let i=0; i<arr.length;i++){
		    console.log(arr[i]);
		}
	
// 第二种forEach
// forEach就是代替普通的
		forarr.forEach(function(item,index,arr){// item:循环结果 index:下标 arr:原数组    console.log(item);
		},
//this指向,如果使用的是箭头函数无法改变this指向; 

// 第三种map
// 它可以重新整理数据结构,可以返回一个新的数组
		let newarr = arr.map((item,index,arr)=>{// item:循环结果 index:下标 arr:原数组    
		 console.log(item,index,arr);    
		let json = {}; 
	  	json.t = `随便加点${item.title}----`;    
	   	json.r = `随便加点${item.read}----`;    
	  	json.h = `随便加点${item.hot}----`;    
	   	  return json;
	   })
	   console.log(newarr)

// 第四种filter
// 过滤,过滤一些不合格或者不想要的元素,如果返回结果为true,就留下来
		let newarr = arr.filter((item,index,arr)=>{// item:循环结果 index:下标 arr:原数组    
		return item.hot == true;//判断即可
		})
		console.log(newarr)


// 第五种some
// 类似查找,数组里面某一个元素符合条件,返回true
		let newarr = arr.some((item,index,arr)=>{
		    return item.title == 'dddd';
		})
		console.log(newarr)
		
// 第六种every
// 类似查找,数组里面所有的元素都要符合条件,才返回true
		arr2 = [1,3,5,7,9]
		let newarr = arr2.every((item,index,arr)=>{    return item%2 == 1;//判断我的数组里面是否有偶数
		})
		console.log(newarr)
	
// 第七种reduce
// 求数组的和、阶乘,从左往右计算
		arr3 = [1,2,3,4,5,6,7,8,9,10];
		arr4 = [2,2,3];
		let newarr = arr3.reduce((prev,cur,index,arr)=>{//prev:前一个 cur:当前 index:下标 arr:原数组
			    return prev+cur;    
			    return Math.pow(prev,cur);//调用arr4的数组    
			    return prev**cur;//或者使用幕运算符})
			    console.log(newarr)
// 第八种reduceRight
// 求数组的和、阶乘,跟reduce正好相反,从右往左计算
	arr3 = [2,2,3];
	let newarr = arr3.reduceRight((prev,cur,index,arr)=>{//prev:前一个 cur:当前 index:下标 arr:原数组
	    // return prev+cur;   
	     return Math.pow(prev,cur);
	     })
	     console.log(newarr)

怎么样是不是又涨知识了,大家不要学我let声名这么多次newarr,我是注释这写的,大家要用的话直接,用哪个拿那个就OK。
这里给大家留一个坑,接下来给大家分享es6,的循环。

``

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值