当前位置:首页 > 教育 >

reduce是归纳的意思吗(reduce用法例句)

来源:原点资讯(www.yd166.com)时间:2024-04-07 20:43:11作者:YD166手机阅读>>

reduce函数让初学者头疼!有两大难点,一方面参数怎么搞一个函数?另一方面函数里为什么还有好多参数,它们都是干什么的?

reduce字面意思是“减少”,在这里将它理解成“归纳”“归并”最为合适。

reduce是归纳的意思吗,reduce用法例句(1)

reduce 的语法

首先reduce的语法如下:

arr.reudce( callback , [ initalValue ])

reduce作为数组的方法,它可以将数组的每一个元素都执行一次回调函数,也就是通过这个函数,让每一个元素都能获得变化。通过reduce方法的使用,可以让数组的每一项都执行回调函数。

callback回调函数中还有四个参数,分别为:

  • previousValue 代表上一次调用回调返回的数值(如果第一项调用就是初始值)
  • currentValue 当前数组中被处理的元素
  • index 当前被处理元素的下标
  • array 调用reduce方法的原始数组

initalValue就是第一次调用callback的初始参数

reduce是归纳的意思吗,reduce用法例句(2)

分析两大参数

let arr = [1,3,5,7]; let sum = arr.reduce(function(prev,current,index,arr){ console.log(prev,current,index) /* 1 3 1 4 5 2 9 7 3 */ return prev current }) console.log(sum) // 16

根据以上的过程,可以清楚的分析到各个参数所代表的含义。

当reduce传入回调时,初始的prev值为数组第一个元素,而current当前值和index索引值,默认从arr[1] 开始执行。

到下一个元素执行回调时,prev就变成为前一次返回的(prev current),current和index则继续向下获取。

那么,就有一个疑问,为什么一个长度为四的数组,只执行了三个元素的回调?第二个参数initalValue用什么用途?

所以引出了第二个参数initalValue。当添加上initalValue参数后,就能得到以下的结果。

let arr = [1,3,5,7]; let sum = arr.reduce(function(prev,current,index,arr){ console.log(prev,current,index) /* 10 1 0 11 3 1 14 5 2 19 7 3 */ return prev current },10) console.log(sum) // 26

可以观察到,这次执行了四次,index也从0遍历到了3。原来,第一次的prev就是我们传入的initalValue的数值。

reduce是归纳的意思吗,reduce用法例句(3)

一些适用场景

reduce函数可以放在很多场景使用,做一些数组的变换,具体如下所示:

  1. 累加、类乘

let arr = [1,3,5,7]; let sum = arr.reduce(function(prev,current,index,arr){ return prev current },0) let mul = arr.reduce(function(prev,current,index,arr){ return prev*current },1) console.log(mul) // 105

  1. 二维数组转一位数组

let arr = [[1,2,3],[4,5],[6,7,8],9] let newArr = arr.reduce(function(a,b){ return a.concat(b) }) console.log(newArr) //[1, 2, 3, 4, 5, 6, 7, 8, 9]

  1. 数组去重

let arr = ['apple','pear','lemon','pear'] let newArr = arr.reduce(function(prev,current){ if( !prev.includes(current)){ return prev.concat(current) }else{ return prev } },[]) console.log(newArr) // ["apple", "pear", "lemon"]

  1. 统计数组元素出现的次数

let arr = [1,2,3,4,5,1,2,3,5,7,8] let count = arr.reduce(function(prev,current){ if(prev[current] == undefined){ prev[current] = 1 }else{ prev[current] } return prev },{}) console.log(count) // {1: 2, 2: 2, 3: 2, 4: 1, 5: 2, 7: 1, 8: 1}

以上就是reduce的用法以及拓展,如果觉得有帮助,欢迎收藏、评论、关注~

,

栏目热文

reduce中文意思(reduce什么意思中文)

reduce中文意思(reduce什么意思中文)

car [kɑː] 汽车定义:英文解释:A motor vehicle with four wheels, usuall...

2024-04-07 21:00:55查看全文 >>

reduce 什么意思啊(reduce是什么意思翻译中文)

reduce 什么意思啊(reduce是什么意思翻译中文)

(一)双十一,你最大的印象是什么?很多朋友的回答,可能是:第一买买买,第二拆拆拆,第三丢丢丢。反正,双十一期间,很多小区...

2024-04-07 20:59:08查看全文 >>

reduce的中文意思(reduce的名词发音)

reduce的中文意思(reduce的名词发音)

reduce [riˈdjuːs]vt.缩减;减少;使陷于;使卑下;使薄弱;使简化 分析:“re”是汉字“热”的汉语拼音...

2024-04-07 20:49:45查看全文 >>

reduce翻译成中文(reduce替代词汇)

reduce翻译成中文(reduce替代词汇)

中文翻译:减轻,缓和 词性:vt.音标:[rɪˈliːv]过去分词: 过去分词: relieved 过去式: relie...

2024-04-07 21:12:53查看全文 >>

reduce 什么意思中文翻译(reduce什么意思中文)

reduce 什么意思中文翻译(reduce什么意思中文)

reduce英 [rɪˈdjuːs] 美 [rɪˈduːs] v. 减少,降低;(烹调中)使变浓稠,收汁;<美&g...

2024-04-07 20:59:20查看全文 >>

熊猫最稀少时是在哪几年(熊猫从古至今一共活了多少年)

熊猫最稀少时是在哪几年(熊猫从古至今一共活了多少年)

熊猫自古就是珍奇异兽,但它“国宝”的身份并不是与生俱来的。不同时期,熊猫的名字不同,用处也不同。《史记·五帝本纪》中,被...

2024-04-07 21:01:50查看全文 >>

2022年熊猫数量多少只(2024年熊猫有多少只)

2022年熊猫数量多少只(2024年熊猫有多少只)

中新社成都1月3日电 (王利文 安源)中国大熊猫保护研究中心3日发布消息称,2022年该中心共繁育存活大熊猫幼仔8胎13...

2024-04-07 20:35:20查看全文 >>

熊猫以前有多少只现在有多少只(熊猫现在全中国仅存多少只)

熊猫以前有多少只现在有多少只(熊猫现在全中国仅存多少只)

中国,作为一个拥有着悠久历史的国家,自然而然的也拥有着丰富的自然资源,而这些自然资源中自然少不了独特的物种,而大熊猫,就...

2024-04-07 21:11:04查看全文 >>

熊猫以前到底有多少只(熊猫现存数量有多少)

熊猫以前到底有多少只(熊猫现存数量有多少)

1、20世纪50年代:成都,北京动物园开始饲养大熊猫。2、1963年:北动人工繁殖大熊猫首次成功。3、1974-1977...

2024-04-07 20:32:24查看全文 >>

熊猫是从什么时候开始存在的(熊猫什么时候存在的)

熊猫是从什么时候开始存在的(熊猫什么时候存在的)

​​ 根据了解从生物角度发现这是一个特殊的物种,包括大家了解它的脸很圆,其实大熊猫属于熊科类动物,大家如果注意观察会发现...

2024-04-07 20:53:31查看全文 >>

文档排行