javascript数组循环方法合集

arr.forEach();无返回数据;两个参数:回调函数,this指向(一般不使用该参数)
arr.map();有返回新的数组,没有的话使用forEach;两个参数:回调函数,this指向(一般不使用该参数)
arr.filter();有返回新的数组;过滤;需要使用return;如果回调函数返回为true则返回数组中包含对应的数组中的值;两个参数:回调函数,this指向(一般不使用该参数)
arr.some();循环,查找,数组中包含有符合条件的元素(一个或者多个),返回true;两个参数:回调函数,this指向(一般不使用该参数)
arr.every();数组里面的元素都符合条件,返回ture;两个参数:回调函数,this指向(一般不使用该参数)【表单验证场景】
arr.reduce();求数组的和,参数与上面的不同,回掉函数有四个参数(prev,cur,index,arr)【柱状图求和等场景使用】,
arr.reduceRight(),从右向左运算,和reduce相反方向;
ES6新增:for……of……循环;
Array.from();把类数组(获取的一组元素、arguments...)对象转化成数组;
Array.of():将一组值转化为数组;
Array.find():找出第一个符合条件的数组成员。如果没有找到返回undefined;
Array.findIndex():找的是位置,没有找到返回-1;
Array.fill():填充,三个参数:填充内容,开始的位置,结束的位置

ES6新增:Array.includes():是否含有某个元素,返回布尔值;

新增补充部分实例:

let arr=['aaa','bbb','ccc'];
let brr=[
	{title:'aaa',read:100,hot:true},
	{title:'bbb',read:100,hot:true},
	{title:'ccc',read:100,hot:false},
	{title:'ddd',read:100,hot:true}
]
arr.forEach((v,i,arr)=>{
	console.log(v,i,arr)
})
let newArr = brr.filter((v,i)=>{
	return !v.hot
});
console.log(newArr);
let newArr = brr.some((v,i)=>{
	return v.title='bbb'
});
console.log(newArr);
let newArr = brr.every((v,i)=>{
	return v.hot
});
console.log(newArr);
let crr=[1,2,3,4,5,6,7,8,9,10];
let res=crr.reduce((prev,cur,index,crr)=>{
	console.log(prev,cur,index);
	return prev+cur;
})
console.log(res);
for(let val of arr){}
for(let index of arr.key){}
let isNew = arr.find(()=>{
	return val=='aaa'
})
console.log(isNew);
let isHas = arr.includes('aaa');
console.log(isHas);

ES6引入方法:

find,返回符合条件的第一个数组成员,找不到则返回undefined;

findIndex,返回符合条件的第一个数组成员的下标。

let arr = [1,2,3,-2];
arr.find(item=>item<0)//return -2

[1,2,3,-4].findIndex(item=>item<0)//    return 3

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值