JavaScript数组reduce()方法怎么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"JavaScript数组reduce()方法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript数组reduce()
千家信息网最后更新 2025年11月07日JavaScript数组reduce()方法怎么用
本篇内容主要讲解"JavaScript数组reduce()方法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript数组reduce()方法怎么用"吧!
将某个值减去数组中的每个元素:
var items = [5, 10, 15];var reducer = function minus(minusSum, item) { return minusSum - item;}var total = items.reduce(reducer, 61);console.log(total); // 31上例中初始值为number类型,所以返回的结果也是number类型的,如果我们想返回object类型的值,也可以传入object类型的初始值。
var items = [5, 10, 15];var reducer = function minus(minusSum, item) { minusSum.sum = minusSum.sum - item; return minusSum;}var total = items.reduce(reducer, {sum: 61});console.log(total); // {sum: 31}以上两例都是reduce()简单的用法。reduce()是一个很强大的方法,我们还可以用它来处理更复杂的业务逻辑。
例如,求购物车中商品的总价,购物车数据如下:
var goodList = [ { good: 'paper', price: 12 }, { good: 'book', price: 58 }, { good: 'CD', price: 15 } ]然后运用reduce()方法可以轻松的获得所有商品的总价格:
var count = goodList.reduce(function(prev, cur) { return cur.price + prev;}, 0);console.log(count); // 85如果用户有10元的优惠券的话,我们只需要将 -10作为初始值传入reduce()方法中就可以了。
var count = goodList.reduce(function(prev, cur) { return cur.price + prev;}, -10);console.log(count); // 75我们给例子增加一点难度,商城在搞促销,对商品有一定的折扣,我们应该如何求得商品的总价格呢?利用reduce方法也可以很容易解决的。
var goodList = [ { good: 'paper', price: 12 }, { good: 'book', price: 58 }, { good: 'CD', price: 15 } ];var dis = { paper: 0.5, book: 0.8, CD: 0.2}var count = goodList.reduce(function(prev, cur) { return cur.price + prev;}, -10);var qcount = goodList.reduce(function(prev, cur) { return cur.price * dis[cur.good] + prev;}, 0);console.log(count, qcount); // 75 55.400000000000006我们这里就忽略JS中的精度问题吧,因为这里主要讲解reduce()方法的用法。
再举一个例子,如何求得一串字符串中每个字母出现的次数?如果我们不用reduce()方法也可以实现的,
代码如下:
var arrString = 'fghffgaga';var strArr = arrString.split('');var rel = {};var count = 1;for (var i = 0; i < strArr.length; i++) { for (var j = i + 1; j < strArr.length; j++) { if (strArr[i] == strArr[j]) { count++; strArr.splice(j, 1); j = j - 1; } } var qcount = count; count = 1; rel[strArr[i]] = qcount; }console.log(rel); // {f: 3, g: 3, h: 1, a: 2}利用reduce()方法的代码如下:
var arrString = 'fghffgaga';var rel = arrString.split('').reduce(function(res, cur) { res[cur] ? res[cur] ++ : res[cur] = 1 return res;}, {})console.log(rel); // {f: 3, g: 3, h: 1, a: 2}哈哈,利用reduce()方法来处理的话,代码是不是简单了很多?
我们可以用reduce()方法来对数组中的每个元素来做各种处理,将一种类型的数组转换成另一种类型的数组。
var arr = [1, 2].reduce(function(res, cur) { res.push(cur + ''); return res; }, []);console.log(arr); // ["1", "2"]到此,相信大家对"JavaScript数组reduce()方法怎么用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
数组
类型
商品
代码
处理
价格
例子
元素
内容
购物车
学习
购物
复杂
实用
强大
更深
不用
业务
优惠券
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州佰威网络技术有限
数据库的安全性名词
通讯软件开发过程创意
access数据库统计分析
数据库gps格式
网络安全手抄报图片简单点的
上海智能软件开发技巧
阿里云服务器下载密钥
数据库传输
微信小程序需要购买什么服务器
关于网络安全宣传漫画
网络安全 实验室 西电
软件开发行业政策汇总
济南赛博网络技术公司
共筑网络安全主题黑板报
数据库 字符串匹配
数据库的结构文件类型分为哪几类
服务器有必要安装安全软件吗
中国和印度软件开发
fm1314数据库
内蒙古软件开发涉密甲级资质
网络安全有哪些性质
网络安全法里规定核心制度
如何去除服务器防护
软件开发测试待遇
数据库数值范围
大微互联网科技
数据库系统时间
网络安全法宣传稿件
多个表格特定位置提取数据库