(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()

1.forEach() 用于调取数组的每个元素,并将元素传递给回调函数;对于空数组是不会执行回调函数的。

var numbers = [1,2,3,4];
var sum = 0;
numbers.forEach(function(number){
sum += number;
});
console.log(sum) //    10

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
2.map() 返回一个新数组,数组中的元素为原数数组元素调用回调函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。 map() 不会对空数组进行检测、不改变原数组。

var nums  = [1,2,3,4];
var arr = nums.map(function(num){
return num*2;
})
console.log(arr) // 2,4,6,8
console.log(nums) // 1,2,3,4

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
3.find() 返回通过测试(函数内判断)的数组第一个元素,
(1、当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
(2、如果没有符合条件的元素返回 undefined
find() 对于空数组,函数是不会执行的。find() 不改变原始数组。

 var nums = [1,2,3,4,5,6,7,8];
var result = nums.find(function(num){
return num > 3 && num < 7
})
console.log(result)   // 4

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
4.filter() 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
不会对空数组进行检测、filter() 不会改变原始数组。

		var numbers = [{age:'34',sex:'男'},{age:'20',sex:'女'},{age:'16',sex:'女'},{age:'25',sex:'男'}];
		var num = numbers.filter(function(number){
		return number.sex=='女' && number.age>16;
})
console.log(num)  // {age:'20',sex:'女'}

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
5.every() 检测数组所有元素是否都符合指定条件(通过函数提供)// 一假即假
(1、如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
(2、如果所有元素都满足条件,则返回 true。
every() 不会对空数组进行检测、every() 不会改变原始数组。

var numbers = [1,3,4,5,6,7,7];
var flag= numbers.every(function(number){ 
 	return number > 5;
})
console.log(flag) // false 

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
6.some() 用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
some() 不会对空数组进行检测、some() 不会改变原始数组。

var numbers = [1,3,4,5,6,7,7];
var flag= numbers.every(function(number){ 
 	return number <= 1;
})
console.log(flag) //  true

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()
7.reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
可以作为一个高阶函数,用于函数的 compose。
reduce() 对于空数组是不会执行回调函数的。

		    	var numbers = [1,2,3,4,5];
		    	var sum1 = 100;
		    	var sum =  numbers.reduce(function(sum1,number){
		    	return sum1+number;
		    	},0);
		    	console.log(sum) // 15

(2)js 常用数组方法 forEach()、map()、find()、filter()、every()、some()、reduce()