迭代的方法(遍历方法)
迭代的方法有:forEach、map、some、every、fillter、reduce、find、findIndex
1、forEach():数组遍历,无返回值
var a = [1,2,3,4,5];
a.forEach(function (item,index,a) { //声明式
console.log(item, index, a);//值,索引,原数组
});
2、map():遍历数组,有返回值,可以对原数组进行操作
var a = [1,2,3,4,5];
var res = a.map(function (item,index,a) {
return item*2; //将回调函数的返回值放入一个新数组中,最后将新数组作为map方法的返回值
})
console.log(a);//[1, 2, 3, 4, 5]
console.log(res);//[2, 4, 6, 8, 10]
3、some:有一个为真返回true,所有为假返回false
var ary = [1,2,3,4,5];
var res = ary.some(function (item,index,ary) {
return item>3;
})
console.log(res);//true
4、every:有一个为假返回false,所有为真返回true
var ary = [1,2,3,4,5];
var res = ary.every(function (item,index,ary) {
return item>3;
})
console.log(res);//false
5、filter:过滤 把满足条件的留下,不满足的过滤掉
var ary = [1,2,3,4,5];
var res = ary.filter(function (item,index,ary) {
return item>2;
})
console.log(res);//[3,4,5]
6、find:找出数组中符合条件的第一个元素。没找到就是undefined
let arr = [1,2,3,4,5]
arr.find(function(item,index,arr) {
return item>3
})
console.log(value)
7、findIndex:返回符合条件的第一个数组成员的位置下标。没找到就是-1
let arr = [1,2,3,4]
let index = arr.findIndex(function(item,index) {
return item > 2
})
console.log(index)//3
var index = arr2.findIndex(function (value) {
return value >= 8;
})
console.log(index);
8、reduce(): 遍历数组, 返回参数函数里的返回值.一般作为累加器计算总价
let arr = [1, 2, 3, 4];
// 情况1
// firstItem表示第一个参数,item表示除参数1之外剩余的参数
const arr1 = arr.reduce((firstItem, item) => {
return firstItem += item;
})
console.log(arr1); //10
// 情况2
// firstItem表示一个函数,默认值设置为0 ,item所有元素
const arr2 = arr.reduce((firstItem, item) => {
return firstItem += item
},0)
console.log(arr2); //10