【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

JSINQ——LINQ 的 JavaScript 实现

  • 2009-02-11
  • 本文字数:776 字

    阅读完需:约 3 分钟

JSINQ 代表 JavaScript INtegrated Query,它是用 JavaScript 实现 LINQ to Objects 的 beta 项目,最近由 Kai Jäger 在 CodePlex 网站上发布。JSINQ 包含两个模块,Enumerable 和 Query 相应地实现 System.Linq.Enumerable System.Linq.Queryable ,它可枚举字符串、DOM 节点类别或者其他对象。

两个模块分别是 jsinq.Enumerable 和 jsinq.Query。查询示例,如下所示:

复制代码
var query = new jsinq.Query('\
from order in $1 \
group order by order.customerId into g \
select {customerId: g.getKey(), items: g.sum(function(g) { return g.items; })} \
into h \
join customer in $0 on h.customerId equals customer.id \
where h.items > 10 \
orderby h.items descending \
select {lastname: customer.lastname, items: h.items} \
');
query.setValue(0, customers);
query.setValue(1, orders);
var result = query.execute();

枚举示例,如下所示:

复制代码
var enumerator = namesThatStartWithAnA.getEnumerator();
while (enumerator.moveNext()) {
var name = enumerator.current();
document.write(name + '<br />');
}

根据 Kai 的说法,JSINQ 可以完成下列任务:

  • 针对 JavaScript 字符串、DOM 节点列表或者自定义枚举类型,编写任意复杂的查询
  • 在 HTML 的 DOM 树中使用 SQL 风格的查询语法找出相应的元素
  • 从藉由 XMLHttpRequest 获取而来的 JSON 中以声明的方式动态创建 HTML 元素
  • 修改 XML 并把它转换为其他格式
  • 把正使用的 JavaScript 或 Ajax 框架以有趣的方式关联
  • 利用声明性编程的好处来减少编码量
  • 以及让喜欢挑战的编程人员编写射线追踪器(算法)、包含多个单一解析器的组合器等

Kai 已经提供了相关网页让大家测试JSINQ 。可以从CodePlex 免费下载基于 MIT 许可证源代码。类似的项目还有: JSLINQ 和 ** JLINQ。**

查看英文原文: JSINQ, a JavaScript Implementation of LINQ

2009-02-11 03:242000
用户头像

发布了 87 篇内容, 共 20.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

zookeeper开山篇-编译安装与zk基础命令使用,实战篇

android 程序员 移动开发

[译] Kotlin Clean 架构,移动端h5开发全过程

android 程序员 移动开发

数字化工具是数字化转型很好的切入点,但是千万不要只见树木不见森林|DBT How

三少爷的见

数字化转型 数字化

华为云数据库限量秒杀11.11元/年,错过再等一年!

华为云数据库小助手

GaussDB 优惠券 华为云数据库

zookeeper使用篇-Zookeeper Api实践,从入门到真香

android 程序员 移动开发

zookeeper开山篇-编译安装与zk基础命令使用(1),android综合面试

android 程序员 移动开发

[译] Flutter —— 根据不同屏幕尺寸高效的适配 UI,Android插件化入门指南

android 程序员 移动开发

[译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录

android 程序员 移动开发

Weex原理之带你去蹲坑(1),androidui开发工具

android 程序员 移动开发

阿里大佬倾情力荐:Java全线成长宝典,从P5到P8一应俱全

Java MySQL 编程 程序员

[干货]设计模式:六种单例的创建方式,外加一大波Android进阶架构师资料分享

android 程序员 移动开发

WiFi配网~智能家居配网解决方案,腾讯T3大牛总结

android 程序员 移动开发

《Linux一学就会》第一章第一节:学习环境搭建

侠盗安全

Linux linux运维 云计算架构师

[译] 改善 Android Studio 的构建速度,网易资深Android架构师

android 程序员 移动开发

直播预告|App 首页如何动态化更新?来看蚂蚁技术专家详解「支付宝」全新卡片技术栈

蚂蚁集团移动开发平台 mPaaS

大前端 支付宝 移动开发 mPaS 卡片技术

[译]使用 MODEL-VIEW-INTENT 第四部分 — 独立 UI 组件

android 程序员 移动开发

WMRouter:美团外卖Android开源路由框架,2021年Android高级面试题

android 程序员 移动开发

[Android-Gradle]-搞定Groovy闭包这一篇就够了,android编程权威指南

android 程序员 移动开发

[Android]使用函数指针实现native层异步回调,鸿蒙app开发工具

android 程序员 移动开发

[正确]的使用Kotlin Flow进行搜索优化,移动端开发技术路线

android 程序员 移动开发

[译]Android原生开发的现状,截止到2019年12月,一招彻底弄懂

android 程序员 移动开发

XTableView:一个带侧滑菜单的二维表格控件,kotlin高阶函数源码讲解

android 程序员 移动开发

zookeeper原理篇-Zookeeper启动流程分析,2021大厂Android面试最火问题

android 程序员 移动开发

积跬步至千里:QUIC 协议在蚂蚁集团落地之综述

阿里巴巴终端技术

网络协议 移动端 客户端 QUIC协议

WebView交互架构项目实战(三),阿里P7亲自教你

android 程序员 移动开发

WorkManager完全解析+重构轮询系统,android事件分发机制面试

android 程序员 移动开发

[译] 管中窥豹:RxJava 与 Kotlin 协程的对比,Android社招面试题

android 程序员 移动开发

Weex原理之带你去蹲坑,kotlin参数默认值

android 程序员 移动开发

渗透测试之内网渗透学习

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

[译] WorkManager 基础入门,android小游戏源代码

android 程序员 移动开发

[译]使用 MODEL-VIEW-INTENT 第四部分 — 独立 UI 组件 (1)

android 程序员 移动开发

JSINQ——LINQ的JavaScript实现_.NET_Abel Avram_InfoQ精选文章