linq.ts TypeScript链式查询库
TypeScript 的 LINQ 操作,用起来也能像 C#那样丝滑?linq.ts就挺能打的。写法清爽,链式操作逻辑直观,常见的Where
、Select
、Join
全都安排上,几乎不用翻文档就能上手。
List 的链式操作像 RxJS 但比它轻量多了。比如你要筛一组数字大于 3 的,再全都乘 2:
import { List } from 'linqts';
const result = new List([1, 2, 3, 4, 5])
.Where(x => x > 3)
.Select(y => y * 2)
.ToArray();
// [8, 10]
写起来是不是比Array.prototype
那堆方法链舒服多了?嗯,是链多了的时候,结构更清晰。
多表关联的场景也能搞。比如你有一堆people
和pets
,按主人匹配:
const result = people.Join(
pets,
person => person.id,
pet => pet.ownerId,
(person, pet) => ({ person, pet })
);
用法跟 C#里的 LINQ 没啥两样,业务逻辑一目了然。
需要注意的是:linq.ts 主要适合中小规模的数据,如果数据量大,建议先测一下性能。毕竟它是在内存里搞事情,不是数据库级的。
如果你项目里经常结构化数组、组合查询之类的,那这个库挺值得一试。npm i linqts
装上试试,轻便好用,没什么学习成本。
linq_ts-master.zip
预估大小:21个文件
linq.ts-master
文件夹
.travis.yml
334B
linqts.png
90KB
package.json
2KB
readme.md
6KB
tslint.json
82B
__tests__
文件夹
enumerable.test.ts
421B
list.test.ts
25KB
.github
文件夹
151.38KB
文件大小:
评论区