文章目录
- 1.forEach()
- 2.map()
- 3.filter()
- 4.reduce()
- 5.some()
- 6.every()
- 7.all()方法
1.forEach()
var arr = [1,2,3,4];
arr.forEach((item,index,arr) => {
console.log(item) //结果为1,2,3,4
})
// 数组的遍历方法,无返回值,不改变原数组
2.map()
var arr = [1,2,3,4];
arr.map((item,index,arr) => {
return item*10 //新数组为10,20,30,40
})
//map遍历数组,返回一个新数组,不改变原数组的值。
3.filter()
var arr = [1,2,3,4];
arr.filter((item,index,arr) => {
return item > 2 //新数组为[3,4]
})
//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。
4.reduce()
var arr = [1,2,3,4];
arr.reduce((sum,item,index,arr) => {
// sum 上次循环返回的值,若为第一次循环值为 origin
// item 循环项
// index 循环下表
// arr 源数组
return sum + item;
},origin)
//reduce 遍历数据求和。
5.some()
var arr = [1,2,3,4];
arr.some((item,index,arr) => {
return item > 3 //结果为true
})
//遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组
6.every()
var arr = [1,2,3,4];
arr.every((item,index,arr) => {
return item > 1 //结果为false
})
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
// 与some()方法互补
7.all()方法
多个异步操作执行完后才执行回调
Promise.all([promise1,promise2,promise3])
.then(results => {
// results 是上面多个promise回调结果的数组
});