1. 过滤方法filter(不会改变原始数组)
filter能够将数组中不需要的元素去除
 接受一个函数作为参数,函数含有3个可选参数,分别是
 1.当前元素的值
 2.当前元素的索引。
 3.需要过滤的数组
 遍历时,return false过滤,true则保留
		let arr=[1,2,3,"a"]	
		let arr2=arr.filter(function(a,b,c){
			console.log(a,b,c);
			// 1 0  [1, 2, 3, 'a']
			// 2 1  [1, 2, 3, 'a']
			// 3 2  [1, 2, 3, 'a']
			// a 3  [1, 2, 3, 'a']
		})
		
		let arr2=arr.filter(value=> value>1?1:0)
			//[2, 3]
2.计算方法map(不改变原始数组)
map能够对数组中的元素加工 接受一个函数作为参数,函数含有3个可选参数,分别是
 1.当前元素的值。
 2.当前元素的索引。
 3.需要计算的数组
		let arr2=arr.map(function(a,b,c){
		console.log(a,b,c); 
//1 0  [1, 2, 3, 'a']
//2 1 [1, 2, 3, 'a']
//3 2  [1, 2, 3, 'a']
//a 3  [1, 2, 3, 'a']
			return 1
		})
		console.log(arr2); // [1, 1, 1, 1]
遍历时,return 的值作为新数组的元素
3.累加方法 reduce(不改变原始数组)
reduce 把数组中的元素加工成一个值 有4个参数 第一个第二个必须有
1.函数先前返回的值。
 2.当前元素的值。
 3.当前元素的索引。
 4.当前元素所属的数组
let result=arr.reduce(function(a,b,c,d){
			console.log(a,b,c,d);
			 return a+b		
		})
		//	1 2 1  [1, 2, 3, 4]
 		//	3 3 2  [1, 2, 3, 4]
 		//	6 4 3  [1, 2, 3, 4] 		
		console.log(result);	//10
reduce默认数组第一个值为返回值参数a,第二个值为当前元素参数b
函数的return作为下次遍历的返回值a
可以设置默认值
	let result=arr.reduce(function(a,b,c,d){
			console.log(a,b,c,d);
			return a+b		
			},5)			//设置5作为返回值a,
		//	5 1 0 (4) [1, 2, 3, 4]
		//	6 2 1 (4) [1, 2, 3, 4]
		//	8 3 2 (4) [1, 2, 3, 4]
		//    11 4 3 (4) [1, 2, 3, 4]
		    console.log(result);	//15
4检测方法 some every(不改变原数组)
every(function(){})遍历数组,如果函数都返回true,则返回true。
 some(function(){})遍历数组,如果函数任一项返回true,则返回true。
some every 检测数组中的元素是否符合条件
 函数含有3个可选参数,分别是
 1.当前元素的值。
 2.当前元素的索引。
 3.需要计算的数组
let arr=[1,2,3,4]	
		let result=arr.some(function(a,b,c){
			return 	a>3
		})
		let result2=arr.every(function(a,b,c){
			return 	a>3
		})
		console.log(result,result2);	//true false
		因为some 返回值中只要有符合条件的就true
		every 必须要所有的返回值都符合条件










