【FishFX】花式撩骚,打造TypeScript易用框架。
· 栗子入手
假设有以下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核心模块
- system(v1.0.2):基础功能,如“扩展”、“异常”等实现。
- collections(v1.0.2):对“List<T>”、“Dictionary<TKey, TValue>”等功能实现。
- threading(v1.0.2):对线程相关操作的实现。
- docs(实现中):FishFX文档实现,采用VuePress构建。
- text(计划中):对文本操作的实现。
- reflection(计划中):反射相关实现。
- 更多系列模块计划中。
现在的FishFX还处于襁褓中的婴儿,还请各位大神温柔对待。后期将不定期对FishFX中所有功能进行逐一介绍。
github:https://github.com/cn-troy/fishfx
npm:https://www.npmjs.com/package/fishfx
联系作者:
抖音(计划中): 微信:

【FishFX】花式撩骚,打造TypeScript易用框架。的更多相关文章
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- 端云协同,打造更易用的AI计算平台
内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<端云协同,HUAWEI HiAI Foundation打造更易用的AI计算平台>. 演讲嘉宾:华为海思AI技 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...
- MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)
前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)
前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...
- [转]MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)
本文转自:http://www.cnblogs.com/landeanfen/p/5989092.html 阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHan ...
- 系列文章--打造自己的MVC框架
MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理) MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码) MVC系列——MVC源码学习:打造自 ...
- XC文件管理器-打造优美易用的文件管理器
技术:Android+java 概述 XC文件管理器,是基于Android6.0+开发的一个方便易用的文件管理器,具有文件的目录管理和文件的管理,主要包括文件的新建.删除.重命名.复制,移动剪切以 ...
随机推荐
- 来讨论一下这些常见的 Redis 面试题
Redis应该算面试中必问的一个知识点,但是发现很多童鞋并不熟悉这块,这篇就常见的一些问题做一些整理,有不对的地方欢迎留言指正! 1.Redis支持的数据类型? String(字符串) 格式: set ...
- 使用nginx访问FastDFS
文中所有~~~均为同一个自定义文件夹名字,一般使用项目名称 2.1.为什么需要用Nginx访问? FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要 ...
- 万物互联—MQTT协议
一.简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),最早是1999年由IBM开发的基于发布/订阅范式的消息协议,是一种极其简单和轻量级的消息 ...
- 多源第k短路 (ford + 重新定义编号) / 出发点、终点确定的第k短路 (Spfa+ 启发搜索)
第k短路 Description 一天,HighLights实在是闲的不行,他选取了n个地点,n各地点之间共有m条路径,他想找到这m条路径组成的第k短路,你能帮助他嘛? Input 第一行三个正整数, ...
- MySQL服务使用cmd启动与停止服务
MySQL未设置自动启动,在使用时需要手动打开服务,方法如下 mysql服务的启动: 以管理员的身份运行cmd命令窗口,输入命名 net start mysql 提示:必须使用管理员身份运行cmd 如 ...
- G1垃圾回收器
垃圾回收器的发展历程 背景 01.G1解决的问题 G1垃圾回收器是04年正式提出,12开始正式支持,在17年作为JDK9默认的垃圾处理器. 在04年的时候,java程序堆的内存越来越大,从而导致程序中 ...
- 使用Putty登录亚马逊云主机
亚马逊云主机配置之后会提示 提供一个 pem证书, 打开 SSH 客户端.(了解操作方法 使用 PuTTY 连接) 找到您的私有密钥文件(test001.pem).向导会自动检测您用于启动实例的密钥. ...
- 创建一个tar备份包
创建一个tar备份包 2.1问题 本例要求使用tar工具完成以下备份任务: 创 ...
- MyBatis(三):核心配置文件的重要配置
本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出1便就懂!b站搜索狂神说即可 https://space.bilibili.com/95256449?spm_id_from=333.788 ...
- SpringBoot基础01-yaml配置文件
1.配置文件 1)SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.properties application.yml 2)配置文件的作用:修改SpringB ...