js 各种循环语法
// ******字段说明******* // value:必须,代表当前元素,其他四个参数都是可选 // index代表当前索引值 // arr代表当前的数组 // thisValue代表传递给函数的值, 一般用this值,如果这个参数为空,undefined会传递给this值 // ******************** forEach() // 调用数组每个元素,并将元素传递给回调函数(注意没有办法跳出或终止forEach语句,除非抛出异常) array.forEach(function (value, index, arr), thisValue) // 返回值:undefined // 例: num = [1, 2, 3, 4, 5] num.forEach(number => { console.log(num) // 1 2 3 4 5 }); map() // 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值 array.map(function (value, index, arr), thisValue) // 返回值:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值 // 例: var num = [1, 2, 3, 4, 5] var dnum = num.map(number => { return number * 2 }) console.log(dnum) // [2,4,6,8,10] find() // 返回通过测试的数组的第一个元素的值 array.find(function (value, index, arr), thisValue) var arr = [1, 2, 3, 4, 5, 6, 7]; var ar = arr.find(function (elem) { return elem > 5; }); console.log(ar);// 6 console.log(arr);// [1,2,3,4,5,6,7] filter() // 创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 array.filter(function (value, index, arr), thisValue) var arr = [1, 2, 3, 4, 5, 6, 7]; var ar = arr.filter(function (elem) { return elem > 5; }); console.log(ar);// [6,7] console.log(arr);// [1,2,3,4,5,6,7] every() some() // every 若目标数组中每一个对象都符合条件则返回true,否则返回false // some 若目标数组中有一个或一个以上的对象符合条件的返回true,否则返回false var users = [ { name: "Jill", age: 10 }, { name: "Alex", age: 18 }, { name: "Bill", age: 20 }, { name: "Tony", age: 24 } ]; var isAdult_every = users.every(user => { return user.age > 18; }) var isAdult_some = users.some(user => { return user.age > 18; }) console.log(isAdult_every) // false console.log(isAdult_some) // true reduce() // 常用于叠加,可以代替forEach等 var numbers = [1, 2, 3, 4, 5]; // 第一个参数为叠加总值,需要初始化,第二个参数是当前项 var sumValue = numbers.reduce(function (sum, number2) { return sum + number2; }, 0); // sum的初始化 console.log(sumValue); // 15