· 栗子入手

假设有以下foo数组,数组中每个对象都拥有id,name两个属性,现在需要查找id > 0的对象数量。

const foo: Array<{ id: number, name: string }> = [{
id: 1,
name: "cn.troy"
}, {
id: 2,
name: "鱼摆摆"
}];

使用for?

let count: number = 0;
for (let i = 0; i < foo.length; i++) {
if (foo[i].id > 0) {
count++;
}
}

使用forEach?

let count: number = 0;
foo.forEach((item)=>{
if(item.id > 0){
count++;
}
});

使用filter?

const count: number = foo.filter(k => k.id > 0).length;

使用FishFX!!!

const count: number = foo.f_count(k => k.id > 0);

又比如我要查找一个数组中,某一个范围的所有对象。

const arr: Array<any> = foo.f_where(k => k.id > 5 && k.id < 10);

或者对数据进行验证,看是否所有对象都满足条件等等。

const isAll: boolean = foo.f_all(k => k.id !== 0);

看到这里,有同学肯定会问,你这些方法在ES6中都已经实现了啊,比如 array.filter、array.find等等。这框架的意义又是什么呢?

因为我们的核心理念!!!同时FishFX不仅仅只是array扩展而已,后续也将不断提供更多、更优质的算法封装。

· Fish Framework(简称:FishFX,中文名:鱼摆摆)

FishFX 框架是采用 TypeScript(version:3.8.3)现有体系标准,对平时编码时的一些常用功能进行封装,主要思想参考 CoreFX 进行构建。

我们的核心理念是:“致力于让 TypeScript 拥有如同编写 C# 般的丝滑。”

· FishFX核心模块

  1. system(v1.0.2):基础功能,如“扩展”、“异常”等实现。
  2. collections(v1.0.2):对“List<T>”、“Dictionary<TKey, TValue>”等功能实现
  3. threading(v1.0.2):对线程相关操作的实现。
  4. docs(实现中):FishFX文档实现,采用VuePress构建。
  5. text(计划中):对文本操作的实现。
  6. reflection(计划中):反射相关实现。
  7. 更多系列模块计划中。

现在的FishFX还处于襁褓中的婴儿,还请各位大神温柔对待。后期将不定期对FishFX中所有功能进行逐一介绍。

github:https://github.com/cn-troy/fishfx

npm:https://www.npmjs.com/package/fishfx

联系作者:

抖音(计划中):                                                                 微信:

         

【FishFX】花式撩骚,打造TypeScript易用框架。的更多相关文章

  1. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  2. 端云协同,打造更易用的AI计算平台

    内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<端云协同,HUAWEI HiAI Foundation打造更易用的AI计算平台>. 演讲嘉宾:华为海思AI技 ...

  3. MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)

    前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...

  4. MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)

    前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...

  5. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  6. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...

  7. [转]MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    本文转自:http://www.cnblogs.com/landeanfen/p/5989092.html 阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHan ...

  8. 系列文章--打造自己的MVC框架

    MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理) MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码) MVC系列——MVC源码学习:打造自 ...

  9. XC文件管理器-打造优美易用的文件管理器

    技术:Android+java   概述 XC文件管理器,是基于Android6.0+开发的一个方便易用的文件管理器,具有文件的目录管理和文件的管理,主要包括文件的新建.删除.重命名.复制,移动剪切以 ...

随机推荐

  1. 模块 re_正则

    模块re_正则 讲正题之前我们先来看一个例子:https://reg.jd.com/reg/person?ReturnUrl=https%3A//www.jd.com/ 这是京东的注册页面,打开页面我 ...

  2. Johnson-Trotter(JT)算法求全排列

    Johnson-Trotter算法描述 算法 JohnsonTrotter(n) //实现用来生成排序的 Johnson-Trotter 算法 //输入:正整数n(代表序列1,2,···,n) //输 ...

  3. 【开源】使用Angular9和TypeScript开发RPG游戏(20200410版)

    源代码地址 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法. Github项目源代码地址 RPG系统构造 ver0.03 2020/04/10 ...

  4. 1065 A+B and C (64bit) (20分)(水)

    Given three integers A, B and C in [−], you are supposed to tell whether A+B>C. Input Specificati ...

  5. php 分页使用limit还是用mysql_data_seek()呢?

    目前大部分教程中介绍的时LIMIT方法,使用这种方法要认识到以下几点: (1)limit不是标准的sql语句; (2)如果选择使用limit,那么您就必须首先向数据库发送一个查询语句来获取记录的总数, ...

  6. 使用css动画实现领积分效果

    最近项目中要做一个领积分的效果,根据老板的描述,这个效果类似于支付宝蚂蚁森林里的领取能量.整体效果是就是在树周围飘着几个积分元素,上下滑动,类似星星闪烁,点击领取后,沿着树中心的位置滑动并消失,树上的 ...

  7. CVPR2020| 阿里达摩院最新力作SA-SSD

    作者:蒋天园 Date:2020-04-16 来源:SA-SSD:阿里达摩院最新3D检测力作(CVPR2020) Brief 来自CVPR2020的研究工作,也是仅仅使用Lidar数据进行3D检测的文 ...

  8. zookeeper的下载安装和选举机制(zookeeper一)

    1. 简要概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的框架.Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架它负责存储和管理大家都关心的 ...

  9. defer使用小结

    defer 前言 defer的定义 defer执行的规则 为什么需要defer defer进阶 作为匿名函数 作为函数参数 defer命令执行的时机 defer配合recover 总结 参考 defe ...

  10. GO代码风格指南 Uber Go (转载)

    原文地址:https://github.com/uber-go/guide/blob/master/style.md 译文出处:https://github.com/uber-go/guide 本文永 ...