js之那个牛逼的reduce

1 reduce介绍

reduce的官网

  • 定义 :对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
  • 形式 :array.reduce((t, v, i, a) => {}, initValue)
  • 参数
    • callback:回调函数(必选)
    • initValue:初始值(可选)
  • 回调函数的参数
    • total(t):累计器完成计算的返回值(必选)
    • value(v):当前元素(必选)
    • index(i):当前元素的索引(可选)
    • array(a):当前元素所属的数组对象(可选)
  • 理解
    • reduce实质上是一个累计器函数,通过自定义的函数对数组中的每一项处理后累计,最后返回这个累计的值

2 用法

2.1 累加累乘

Arr.reduce((t, v) => t + v, 0);
Arr.reduce((t, v) => t * v, 1);
Arr(1, 2, 3, 4, 5); // 15
Arr(1, 2, 3, 4, 5); // 120

2.2 数组一维化

function Flot(v) {
arr.reduce((t, v) => t.concat(Array.isArray(v) ? Flat(v) : v), [])
}
const arr = [0, 1, [2, 3], [4, 5, [6, 7]], [8, [9, 10, [11, 12]]]];
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

2.3 数组转对象

const people = [
    { area: "GZ", name: "YZW", age: 27 },
    { area: "SZ", name: "TYJ", age: 25 }
];
people.reduce((t, v) =>{...t , [v.name] : {...v}}, {}); 

后续在补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个的LabVIEW案例是使用LabVIEW开发了一套智能家居系统。该系统可以实现对家中灯光、温度、窗帘等设备的远程控制和自动化管理。 使用LabVIEW开发的智能家居系统可以通过手机应用或者电脑端进行远程控制。用户可以根据自己的需求随时随地地调整灯光的亮度和颜色,调节室内温度,远程开关窗帘等。同时,该系统还可以根据用户的生活习惯自动化管理家居设备。例如,根据用户的上下班时间自动调整室内温度,智能感应到室内有人时自动开启灯光,等等。 这个案例之所以,一方面是因为使用了LabVIEW这一强大的视觉化编程工具,这使得系统的开发更加简单、直观;另一方面是因为该系统能够极大地提升人们的生活质量和便利性。通过远程控制功能,用户可以随时随地地控制家中的电器设备,无需亲自操作,既节约了时间和精力,又提高了家居安全性。而通过自动化管理功能,系统可以根据用户的需求进行智能调整,提供更加舒适的生活环境,增加了居住的便利性和舒适感。 此外,该案例的之处还体现在其潜在的应用前景。随着智能家居概念的兴起,人们对于智能家居系统的需求越来越大。而使用LabVIEW这样的强大工具来开发智能家居系统,不仅可以满足人们对于功能的要求,还能够提供更加稳定和可靠的系统性能。因此,这个案例的成功不仅能够提高用户的生活质量,还有望在智能家居市场上取得良好的经济效益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值