数组中的reduce

reduce方法第一次对我的感觉是很鸡肋,但是深入了解,才发现其中的奥妙,是个非常强大且实用的方法

var arr = [1,2,3,4,5,6,7];
var sum = arr.reduce( (res,now)=>{  //参数res表示返回的结果,now代表当前项,第一次遍历默认情况下res是数组中的第一项,
        return res + now;
    });
console.log( sum );       //28

以上就是一个很实用的例子,累加数据中的每一项,

var arr = [1,2,3,4,5,6,7];
var sum = arr.reduce( (res,now)=>{  //参数res表示返回的结果,now代表当前项,第一次遍历默认情况下res是数组中的第一项,
        return res + now;
    },10);      //这里的10标识res的初始值,可写可不写,不写的情况下,默认是数组中的第一项
console.log( sum );       //38

原文地址:https://www.cnblogs.com/chenzhiyu/p/8695109.html

时间: 2024-10-10 18:08:55

数组中的reduce的相关文章

数组中的reduce 函数理解

第一次见到reduce 是在js 的高级程序设计中,它的意思是把一个数组减少为一个数,举的例子是数组中元素的求和.它接受一个函数作为参数,函数又有两个参数,一个是prev, 前一个值,一个是next, 后一个值,然后函数体就是返回相加的值. let array = [1, 3, 5]; let sum = array.reduce((prev, next) => { return prev + next; }) console.log(sum); 我对reduce 的理解也仅限于此,只停留在了表

js数组中indexOf/filter/forEach/map/reduce详解

今天在网上看到一篇帖子,如题: 出处:前端开发博客 (http://caibaojian.com/5-array-methods.html) 在ES5中一共有9个Array方法,分别是: Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array.prototype.forEach Array.prototype.map Array.prototype.f

数组中方法some,every , reduce简单方法

1.some方法会依次检测数组中每一个元素是否符合给定函数的条件,返回布尔值,不会对空数组处理,不改变原数组.在执行中,有一个满足就返回true,不再继续执行 var aa = [1,32,4,26]; var bb = aa.some(function(item){ return item > 30; }) console.log(bb); // 输出为true 注意问题 some回调函数有三个参数,一个是当前元素(必须),一个是当前元素的索引index(可选),一个是当前元素属于的数组对象.

ES6中数组方法( reduce )

应用场景一    计算数组中所有值的总和 var numbers = [3,5,9]; var sumValue = numbers.reduce(function(sum,number){ //sum2 前两个数的和 console.log(sum) //1000 1003 1008 return sum + number; },1000 ) //第一次初始化时用1000 + 数组中的第一项 console.log(sumValue) //1017 将数组中对象的某个属性抽离到另一个数组中 v

reduce实现计算数组中每个元素出现的次数 数组去重 将多维数组转化为一维

// js计算数组中每个元素出现的次数 // var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice']; // var countedNames = names.reduce(function (allNames, name) { // if (name in allNames) { // allNames[name]++; // } // else { // allNames[name] = 1; // } // return allName

Javascript中使用reduce

概念 reduce()方法,是Array的reduce把一个函数作用在数组[x1,x2,x3...]上,这个函数必须带两个参数,reduce把结果继续和数组的下一个元素做累计运算. arr.reduce(callback[, initialValue]) callback(一个在数组中每一项上调用的函数,接受四个函数:) previousValue(上一次调用回调函数时的返回值,或者初始值) currentValue(当前正在处理的数组元素) currentIndex(当前正在处理的数组元素下标

js遍历数组重复值和数组中对象重复值

数组去除重复值: arr.indexOf() 方法返回某个指定字符串值再字符中首次出现的位置, 如果数组中没有则返回-1 var arr=[2,8,5,0,5,2,6,7,2]; function unique1(arr){ var result=[]; for (var i = 0; i < arr.length; i++) { if(hash.indexOf(arr[i])==-1){ resule.push(arr[i]); } } return result; } 数组中对象去除的重复值

js对象数组操作之一:对象数组中对象去重的方法总结

在日常开发业务中,经常会有一个数组由多个对象构成,需要对这种数据结构进行操作,如下: const arr = [ { name:'tom', age:15 }, { name:'jack', age:18 }, { name:'tom', age:10 }, ...] 今天总结了一下 先说这种数据结构的去重方法,对于数组中的多个对象去除重复,需要设置布尔值来进行. 一.jquery方法 var oldArr = [ { name:'tom', age:15 }, { name:'jack', a

数组中的方法 --- 不改变原数组的方法

1.concat()把元素衔接到数组中. concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测. 如果所有元素都满足条件,则返回 true 3.filter()返回满足断言函数的数组元素. 4.forEach()为数组的每一个元素调用指定函数. 5indexOf()在数组中查找指定元素.