ES6数组新增循环

ES6数组新增的一些循环

arr.forEach()

			let arr=['apple','banana','orange','tomato'];
			arr.forEach(function(val,index,arr){
				console.log(this,val,index,); 
			},123);
			// 123为改变this的值
			let arr1=['apple','banana','orange','tomato'];
			arr1.forEach((val,index,arr)=>{
				console.log(this,val,index,arr)
			},true);
			// 在箭头函数中this指向当前定义函数所在的对象

arr.map()

map必须有返回值,否则等同于forEach

let arr=[
				{title:'aaaaa',read:100,hot:true},
				{title:'bbbbb',read:100,hot:true},
				{title:'ccccc',read:100,hot:true},
				{title:'ddddd',read:100,hot:true}
			]
			
			/* arr.map((val,index,arr)=>{
				console.log(val,index,arr);
			}) */
			
			let newArr=arr.map((val,index,arr)=>{
				console.log(val,index,arr);
				return "返回值";  //map必须有返回值,否则等同于forEach
			})
			console.log(...newArr)

filter

返回过滤后的数据

var arr = [
			    {title:'侯耀华有多“恨”郭德纲?听听这段', read:50, hot:true},
			    {title:'赵家班爆笑小品《镶牙》:宋小宝演', read:100, hot:true},
			    {title:'最后10秒的精彩,猎豹队小哥一人', read:20, hot:false},
			    {title:'赵本山自爆当年李双江等来找他,他', read:5, hot:true}
			]
			// 过滤当前标签为热点的新闻
			let newArr=arr.filter((val,index)=>{
				return val.hot==true; //返回指定条件的记录,其余被过滤掉
			})
			console.log(newArr);

some

返回查找匹配结果(true/false)

let arr=['apple','banana','orange'];
			let b=arr.some((val,index,arr)=>{  
				return val=='banana';
			})
			// console.log(b);  //some 返回布尔值
			console.log(b?"banana":"没有香蕉");
let arr1=['apple','banana','orange'];
			function findInArray(arr,item){
				return arr1.some((val,index,arr)=>{  //true
					return val==item;
				})
			}
			console.log(findInArray(arr1,"orange")); 

every

每一个条件都成立时才返回true

let arr=[1,3,5,7,9];
			let b=arr.every((val,index,arr)=>{
				return val%2==1;
			});
			console.log(b)

reduce和reduceRight

let arr=[1,2,3,4,5,6,7,8,9,10];
			let result=arr.reduce((prev,cur,index,arr)=>{ //从左往右计算
				return prev+cur;
			})
			console.log(result)
let arr1=[9,10];
			let result=arr1.reduceRight((prev,cur,index,arr)=>{ //从右到左计算
				return prev-cur;
			})
			console.log(result)

for…of…

let arr=['apple','banana','orange'];
			console.log("遍历值");
			for(let val of arr){
				console.log(val); //遍历值
			}
			console.log("------------------------------------------------------");
			
			console.log("遍历索引");
			for(let index of arr.keys()){
				console.log(index); //arr.keys遍历索引
			}
			console.log("------------------------------------------------------");
			
			console.log("遍历索引和值");
			for(let item of arr.entries()){
				console.log(item); //遍历索引和值 arr.entries为数组新增的一个方法,意为实体
			}
			console.log("------------------------------------------------------");
			
			console.log("遍历索引和值");
			for(let [index,val] of arr.entries()){
				console.log(index,val); //遍历索引和值
			}
			console.log("------------------------------------------------------");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值