数组遍历方法

1.foreach

 var arr = [12,34,56,78,90,0 ];
 arr.forEach(function (item,index,arr) {
     console.log(item);//当前项
     console.log(index);//当前项的索引
     console.log(arr);//原始数组
 })
//没有返回值
//数组中有几项,那么传递进去的匿名回调函数就需要执行几次;

2.map

主要用于对每个数组里面的元素执行相同的函数来创建新的数组

有返回值,可以return出来

map的回调函数中支持return返回值;return的是什么,相当于把数组中的这一项变为什么(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);

  var arr = [12,34,56,78,90,0 ];
  var res = arr.map(function (item,index,arr) {
  	return item*2
  });
  console.log(arr);//[12, 34, 56, 78, 90, 0]
  console.log(res);//[24, 68, 112, 156, 180, 0]  

3.filter

与map方法类似,也是对数组中的每个元素执行相同的函数,将结果组合成一个新数组。

  var arr = [12,34,56,78,90,0 ];
  var res = arr.filter(function (item) {
  	return item>50;
  });
  console.log(arr);//[12, 34, 56, 78, 90, 0]
  console.log(res);//[56, 78, 90]

4.some

some()是对数组中每一项运行指定函数,如果数组中有任意一项符合则返回true,否则返回false。

var arr = [12,34,56,78,90,0 ];
console.log(arr.some(function (item) {
	return item>50;
})); //true
console.log(arr.some(function (item) {
	return item>100;
})) //false

5.every

every()是对数组中的每一项运行给定函数,如果数组中每一项都符合则返回true,否则返回false。

var arr = [12,34,56,78,90,0 ];
console.log(arr.every(function (item) {
	return item>50; 
})); //false
console.log(arr.every(function (item) {
	return item>=0;
})) //true

6.reduce

reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。

reduce接受一个函数,函数有四个参数,分别是:初始值或者计算结束后的返回值,当前值,当前值的索引,数组

 var arr = [0,1,2,3,4 ];
 var res = arr.reduce(function (total, currentValue, currentIndex, arr) {
 	return total+currentValue;
 });
 console.log(res);//10

reduce还有第二个参数,我们可以把这个参数作为第一次调用callback时的第一个参数

 var arr = [0,1,2,3,4 ];
 var res = arr.reduce(function (total,currentValue,currentIndex,array) {
	 return total+currentValue;
 },10);
 console.log(res); //20
posted @ 2020-11-20 16:57  水熊虫喵了个咪  阅读(58)  评论(0编辑  收藏  举报
/* 返回顶部代码 */ TOP