provide/inject、extends、educe、map用法

公司接下来要做的工作主要改动点,是在公司一位大佬写的代码上做迭代。领导给我们时间熟悉代码。之前的我一位把项目主流程还有一些关键的组件撸一遍就欧克了,万万没想到。。。。。。,看来其中一个小块的逻辑,收益良多。
因为每个产品条线或者说每个条线下面的产品不一样,展示的内容、排版、字段规则都不一样,但又有一些相似之处;所以大佬把各个代码片段都抽离成一个个的小组件。每个小模块的页面也就各取所需的拼装起来。当时看完的心情就很有成就感,也迈迈对这位大佬的逻辑思维能力肃然起敬。之前只是知道他玩魔方贼溜,万万没想到。。。。。;但是更开心的是自己一点点的也能够理清楚。下面来梳理下,今天看到的之前少有用到的知识点。有问题欢迎指出~~

  1. provide/inject
    祖先级别的组件向子孙组件传递数据的方式。只要他们的上下级关系存在,那就能随时获取到。
    provide: {} || () => {}
    inject: [string]
  2. extends
    作用同mixins.用于扩展另一个组件。
    不同点:
    2.1. extends只接受一个对应,多个会不响应。这和mixins不同,它是以数组的形式接受,可传递多个。
    2.2. 执行顺序上,extends > mixins > 组件自身
  3. reduce
    这个是数组的一个遍历方法。不改变原数组。在某些时候比for、foreach、filter方便太多;比如说,用于求和、最大值、获取某个复杂的多维数组的指定字段,以数组的形式返回。
    以数组求和为例:
    arr1.reduce((pre, cur, index, arr) => pre+num, 0)
    注意,reduce的第二个参数,可有可无。无的话,从0开始,有的话,从1开始。
  4. map
    一些场景需要数据处理且不改变原数组的i情况下返回新数组,那map绝对是最佳选择;结合filter、map可以处理简化很多代码来获取到想要的数据结构。
    arr1.filter(item => item.code).map(item => item.code) // 结果返回code组成的数组。
    ------------忠于自己 two days
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值