JavaScript Array every()&some()&reduce()方法

版权声明:本文为博主原创文章 转载请附上博文链接 https://blog.csdn.net/weixin_41791279/article/details/86636839

every()方法测试数组的所有元素是否都通过了指定函数的测试。 

// 每一项都要满足条件才会返回true,只要有一项不满足返回false

var arr = [1, 2, 3, 4];

let bl = arr.every(item => item > 0);

//console.log(bl);    true

let bl = arr.every(item => item > 2);

//console.log(bl);    false

some() 方法测试是否至少有一个元素通过由提供的函数实现的测试。

// 只要有一个满足,就返回true

var arr = [1, 2, 3, 4];

// 只要有一个小于5的数返回true

var bl2 = arr.some(item => item < 3)

console.log(bl2); // true

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

var arr = [1,2,3,4];

// 每循环一次执行这个回调函数
/*
第一次调用回调函数会从数组中拿前两个值
第2次调用回调函数,回调函数的第一个参数是上一次回调函数的返回值
....
*/

let n = arr.reduce(function (item1,item2){
console.log(item1,item2);
return item1 + item2	
});
console.log(n);

/*
给reduce传入了第二个参数:
第一次调用回调函数的第一个参数,是初始值,第二个参数就是从数组中拿第一个值
第2次调用回调函数,回调函数的第一个参数是上一次回调函数的返回值
....
*/

let m = arr.reduce((item1,item2) => {
console.log(item1,item2);
return item1 + item2;
},100);


var o = [
{
n:1,
m:2
},
{
n:2,
m:3
}
];

let miaov = o.reduce((item1,item2) => {
return item1 + item2.n
},100);

console.log(miaov);

var o1 = [
{
n:1,
m:2
},
{
n:2,
m:3
}
];

let ketang = o1.reduce((item1,item2) => {
return {
n: item1.n + item2.n,
m: item1.m + item2.m,
}
},{n:100,m:50});

console.log(ketang);

猜你喜欢

转载自blog.csdn.net/weixin_41791279/article/details/86636839