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

 

posted @ 2020-02-16 14:02  永颜  阅读(552)  评论(0编辑  收藏  举报