【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+开发的一个方便易用的文件管理器,具有文件的目录管理和文件的管理,主要包括文件的新建.删除.重命名.复制,移动剪切以 ...
随机推荐
- flask中 多对多的关系 主从表之间的的增删改查
# 角色表模型class Role(db.Model): r_id = db.Column(db.Integer, primary_key=True) r_name = db.Column(db.St ...
- 解决Pycharm导入当前项目的.py文件错误
如图所示错误,由左边导航栏可见.py文件存在: 解决办法:右键单击导包错误文件所在目录,选择[Mark Directory as]+[Sources Root] 错误已解决:
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)
前言 回顾之前的两篇Swagger做Api接口文档,我们大体上学会了如何在net core3.1的项目基础上,搭建一套自动生产API接口说明文档的框架. 本来在Swagger的基础上,前后端开发人员在 ...
- [codevs2597]团伙<并查集>
题目描述 Description 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友 ...
- javax.el.PropertyNotFoundException: 类型[cn.cqsw.pojo.Course]上找不到属性[CourseId]
今天在JSP利用EL表达式取值报了 "javax.el.PropertyNotFoundException” 1 Caused by: org.apache.jasper.JasperExc ...
- 实战级Stand-Alone Self-Attention in CV,快加入到你的trick包吧 | NeurIPS 2019
论文提出stand-alone self-attention layer,并且构建了full attention model,验证了content-based的相互关系能够作为视觉模型特征提取的主要基 ...
- 万物互联—MQTT协议
一.简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),最早是1999年由IBM开发的基于发布/订阅范式的消息协议,是一种极其简单和轻量级的消息 ...
- 利用data文件恢复MySQL数据库
背景:测试服务器 MySQL 数据库不知何种原因宕机,且无法启动,而原先的数据库并没有备份,重新搭建一个新服务器把原data 复制出来 进行恢复 1 尽量把原data复制出来(一个都不要少以防意外 其 ...
- H、Magic necklace
链接:https://ac.nowcoder.com/acm/contest/3570/H 来源:牛客网 题目描述 There was a magic necklace. The necklace i ...
- Gin框架系列03:换个姿势理解中间件
什么是中间件 中间件,英译middleware,顾名思义,放在中间的物件,那么放在谁中间呢?本来,客户端可以直接请求到服务端接口. 现在,中间件横插一脚,它能在请求到达接口之前拦截请求,做一些特殊处理 ...