· 栗子入手

假设有以下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. 《java编程思想》对象导论

    1.抽象过程 所有编程语言都提供抽象机制.可以认为,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量,所谓的'类型'是指“所抽象的是什么?”汇编语言是对底层机器的轻微抽象. java的基本 特性 ...

  2. Synchronized锁机制和ReentrantLock

    Synchronized Java中的每个对象都可以作为锁. 普通同步方法,锁是当前实例对象. 静态同步方法,锁是当前类的class对象. 同步代码块,锁是括号中的对象. 锁的内部机制 一般锁有4种状 ...

  3. Java 异常处理与输入输出

    一.异常 1.1 package exception; import java.util.Scanner; public class ArrayIndex { public static void m ...

  4. Java – Try with Resources

    1.介绍 Java 7中引入的对try-with-resources的支持使我们能够声明将在try块中使用的资源,并确保在执行该块后将关闭资源. ⚠️:声明的资源必须实现AutoCloseable接口 ...

  5. webpack4.x 从零开始配置vue 项目(三)

    目标 babel 转换ES6 语法 postCss 增强css功能,如自动增加前缀 vue-loader 解析vue 文件 实现基本的vue项目开发环境,打包等 Babel 由于浏览器对es6语法兼容 ...

  6. 聊起 BigTable,让你不再胆怯

    谷歌“三驾马车”的出现,才真正把我们带入了大数据时代,并指明了大数据的发展方向. GFS 作为其中一驾宝车,解决了大数据存储的难题.它能够把大量廉价的普通机器,聚在一起,充分让每台廉价的机器发挥光和热 ...

  7. js生成一个指定范围内的随机整数

    function __random(start=0, end=1) { return Math.floor(Math.random() * (end - start + 1) + start); } ...

  8. html 中video标签视频不自动播放的问题

    有个需求,客户想做个打开官网自动播放一段视频,楼主使用了video标签,即下面的代码::于是我在video标签上添加了属性 autoplay=“autoplay” loop=“loop”然而通过地址栏 ...

  9. LeetCode | 169. 多数元素

    给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在多数元素. 示例 1: 输入: [3,2,3] ...

  10. 从一个慢查询到MySQL字符集编码

    从一个慢查询到MySQL字符集编码 目录 从一个慢查询到MySQL字符集编码 1. 问题起源 2. MySQL字符集和字符集排序规则 2.1 字符集相关概念 2.2 MySQL中的字符集和字符集排序规 ...